Showing preview only (328K chars total). Download the full file or copy to clipboard to get everything.
Repository: pyrogram/tgcrypto
Branch: master
Commit: a8aee6431796
Files: 31
Total size: 315.3 KB
Directory structure:
gitextract_oyonldn1/
├── .github/
│ └── workflows/
│ └── wheels.yml
├── .gitignore
├── COPYING
├── COPYING.lesser
├── MANIFEST.in
├── NOTICE
├── README.md
├── pyproject.toml
├── setup.py
├── tests/
│ ├── __init__.py
│ ├── cbc/
│ │ ├── __init__.py
│ │ ├── test_cbc.py
│ │ └── vectors/
│ │ ├── CBCGFSbox256.rsp
│ │ ├── CBCKeySbox256.rsp
│ │ ├── CBCMMT256.rsp
│ │ ├── CBCVarKey256.rsp
│ │ └── CBCVarTxt256.rsp
│ ├── ctr/
│ │ ├── __init__.py
│ │ └── test_ctr.py
│ └── ige/
│ ├── __init__.py
│ └── test_ige.py
├── tgcrypto/
│ ├── aes256.c
│ ├── aes256.h
│ ├── cbc256.c
│ ├── cbc256.h
│ ├── ctr256.c
│ ├── ctr256.h
│ ├── ige256.c
│ ├── ige256.h
│ └── tgcrypto.c
└── tox.ini
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/wheels.yml
================================================
name: Build wheels
on: [push]
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v3
- name: Build wheels
uses: pypa/cibuildwheel@v2.11.2
env:
CIBW_ARCHS_MACOS: "x86_64 universal2 arm64"
CIBW_TEST_REQUIRES: tox
CIBW_TEST_COMMAND: cd {project} && tox
CIBW_TEST_SKIP: "*-win*"
CIBW_BUILD_VERBOSITY: 1
- name: Store wheels
uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl
================================================
FILE: .gitignore
================================================
# PyCharm stuff
.idea/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
.static_storage/
.media/
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 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, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
================================================
FILE: COPYING.lesser
================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
================================================
FILE: MANIFEST.in
================================================
## Include
include COPYING COPYING.lesser NOTICE
recursive-include tgcrypto *.c *.h
================================================
FILE: NOTICE
================================================
Pyrogram - Telegram MTProto API Client Library for Python
Copyright (C) 2017-present Dan <https://github.com/delivrance>
This file is part of Pyrogram.
Pyrogram 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 3 of the License, or
(at your option) any later version.
Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.
================================================
FILE: README.md
================================================
# TgCrypto
> [!NOTE]
> The project is no longer maintained or supported. Thanks for appreciating it.
> [!NOTE]
> The implementations of the algorithms presented in this repository are to be considered for educational purposes only.
> Fast and Portable Cryptography Extension Library for Pyrogram
**TgCrypto** is a Cryptography Library written in C as a Python extension. It is designed to be portable, fast,
easy to install and use. TgCrypto is intended for [Pyrogram](https://github.com/pyrogram/pyrogram) and implements the
cryptographic algorithms Telegram requires, namely:
- **`AES-256-IGE`** - used in [MTProto v2.0](https://core.telegram.org/mtproto).
- **`AES-256-CTR`** - used for [CDN encrypted files](https://core.telegram.org/cdn).
- **`AES-256-CBC`** - used for [encrypted passport credentials](https://core.telegram.org/passport).
## Requirements
- Python 3.7 or higher.
## Installation
``` bash
$ pip3 install -U tgcrypto
```
## API
TgCrypto API consists of these six methods:
```python
def ige256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def ige256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def ctr256_encrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...
def ctr256_decrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...
def cbc256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def cbc256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
```
## Usage
### IGE Mode
**Note**: Data must be padded to match a multiple of the block size (16 bytes).
``` python
import os
import tgcrypto
data = os.urandom(10 * 1024 * 1024 + 7) # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32) # Random Key
iv = os.urandom(32) # Random IV
# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)
ige_encrypted = tgcrypto.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto.ige256_decrypt(ige_encrypted, key, iv)
print(data == ige_decrypted) # True
```
### CTR Mode (single chunk)
``` python
import os
import tgcrypto
data = os.urandom(10 * 1024 * 1024) # 10 MB of random data
key = os.urandom(32) # Random Key
enc_iv = bytearray(os.urandom(16)) # Random IV
dec_iv = enc_iv.copy() # Keep a copy for decryption
ctr_encrypted = tgcrypto.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))
print(data == ctr_decrypted) # True
```
### CTR Mode (stream)
``` python
import os
from io import BytesIO
import tgcrypto
data = BytesIO(os.urandom(10 * 1024 * 1024)) # 10 MB of random data
key = os.urandom(32) # Random Key
enc_iv = bytearray(os.urandom(16)) # Random IV
dec_iv = enc_iv.copy() # Keep a copy for decryption
enc_state = bytes(1) # Encryption state, starts from 0
dec_state = bytes(1) # Decryption state, starts from 0
encrypted_data = BytesIO() # Encrypted data buffer
decrypted_data = BytesIO() # Decrypted data buffer
while True:
chunk = data.read(1024)
if not chunk:
break
# Write 1K encrypted bytes into the encrypted data buffer
encrypted_data.write(tgcrypto.ctr256_encrypt(chunk, key, enc_iv, enc_state))
# Reset position. We need to read it now
encrypted_data.seek(0)
while True:
chunk = encrypted_data.read(1024)
if not chunk:
break
# Write 1K decrypted bytes into the decrypted data buffer
decrypted_data.write(tgcrypto.ctr256_decrypt(chunk, key, dec_iv, dec_state))
print(data.getvalue() == decrypted_data.getvalue()) # True
```
### CBC Mode
**Note**: Data must be padded to match a multiple of the block size (16 bytes).
``` python
import os
import tgcrypto
data = os.urandom(10 * 1024 * 1024 + 7) # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32) # Random Key
enc_iv = bytearray(os.urandom(16)) # Random IV
dec_iv = enc_iv.copy() # Keep a copy for decryption
# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)
cbc_encrypted = tgcrypto.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto.cbc256_decrypt(cbc_encrypted, key, dec_iv)
print(data == cbc_decrypted) # True
```
## Testing
1. Clone this repository: `git clone https://github.com/pyrogram/tgcrypto`.
2. Enter the directory: `cd tgcrypto`.
3. Install `tox`: `pip3 install tox`
4. Run tests: `tox`.
## License
[LGPLv3+](COPYING.lesser) © 2017-present [Dan](https://github.com/delivrance)
================================================
FILE: pyproject.toml
================================================
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
================================================
FILE: setup.py
================================================
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram 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 3 of the License, or
# (at your option) any later version.
#
# Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.
from setuptools import setup, Extension, find_packages
with open("README.md", encoding="utf-8") as f:
readme = f.read()
setup(
name="TgCrypto",
version="1.2.5",
description="Fast and Portable Cryptography Extension Library for Pyrogram",
long_description=readme,
long_description_content_type="text/markdown",
url="https://github.com/pyrogram",
download_url="https://github.com/pyrogram/tgcrypto/releases/latest",
author="Dan",
author_email="dan@pyrogram.org",
license="LGPLv3+",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
"Operating System :: OS Independent",
"Programming Language :: C",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Security",
"Topic :: Security :: Cryptography",
"Topic :: Internet",
"Topic :: Communications",
"Topic :: Communications :: Chat",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules"
],
keywords="pyrogram telegram crypto cryptography encryption mtproto extension library aes",
project_urls={
"Tracker": "https://github.com/pyrogram/tgcrypto/issues",
"Community": "https://t.me/pyrogram",
"Source": "https://github.com/pyrogram/tgcrypto",
"Documentation": "https://docs.pyrogram.org",
},
python_requires="~=3.7",
packages=find_packages(),
test_suite="tests",
zip_safe=False,
ext_modules=[
Extension(
"tgcrypto",
sources=[
"tgcrypto/tgcrypto.c",
"tgcrypto/aes256.c",
"tgcrypto/ige256.c",
"tgcrypto/ctr256.c",
"tgcrypto/cbc256.c"
]
)
]
)
================================================
FILE: tests/__init__.py
================================================
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram 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 3 of the License, or
# (at your option) any later version.
#
# Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.
================================================
FILE: tests/cbc/__init__.py
================================================
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram 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 3 of the License, or
# (at your option) any later version.
#
# Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.
================================================
FILE: tests/cbc/test_cbc.py
================================================
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram 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 3 of the License, or
# (at your option) any later version.
#
# Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.
import os
import random
import re
import unittest
import tgcrypto
class TestCBC256NIST(unittest.TestCase):
# https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CBC.pdf
def test_cbc256_encrypt(self):
key = bytes.fromhex("""
603DEB10 15CA71BE 2B73AEF0 857D7781
1F352C07 3B6108D7 2D9810A3 0914DFF4
""".replace(" ", "").replace("\n", ""))
iv = bytes.fromhex("""
00010203 04050607 08090A0B 0C0D0E0F
""".replace(" ", "").replace("\n", ""))
plaintext = bytes.fromhex("""
6BC1BEE2 2E409F96 E93D7E11 7393172A
AE2D8A57 1E03AC9C 9EB76FAC 45AF8E51
30C81C46 A35CE411 E5FBC119 1A0A52EF
F69F2445 DF4F9B17 AD2B417B E66C3710
""".replace(" ", "").replace("\n", ""))
ciphertext = bytes.fromhex("""
F58C4C04 D6E5F1BA 779EABFB 5F7BFBD6
9CFC4E96 7EDB808D 679F777B C6702C7D
39F23369 A9D9BACF A530E263 04231461
B2EB05E2 C39BE9FC DA6C1907 8C6A9D1B
""".replace(" ", "").replace("\n", ""))
self.assertEqual(tgcrypto.cbc256_encrypt(plaintext, key, iv), ciphertext)
def test_cbc256_decrypt(self):
key = bytes.fromhex("""
603DEB10 15CA71BE 2B73AEF0 857D7781
1F352C07 3B6108D7 2D9810A3 0914DFF4
""".replace(" ", "").replace("\n", ""))
iv = bytes.fromhex("""
00010203 04050607 08090A0B 0C0D0E0F
""".replace(" ", "").replace("\n", ""))
ciphertext = bytes.fromhex("""
F58C4C04 D6E5F1BA 779EABFB 5F7BFBD6
9CFC4E96 7EDB808D 679F777B C6702C7D
39F23369 A9D9BACF A530E263 04231461
B2EB05E2 C39BE9FC DA6C1907 8C6A9D1B
""".replace(" ", "").replace("\n", ""))
plaintext = bytes.fromhex("""
6BC1BEE2 2E409F96 E93D7E11 7393172A
AE2D8A57 1E03AC9C 9EB76FAC 45AF8E51
30C81C46 A35CE411 E5FBC119 1A0A52EF
F69F2445 DF4F9B17 AD2B417B E66C3710
""".replace(" ", "").replace("\n", ""))
self.assertEqual(tgcrypto.cbc256_decrypt(ciphertext, key, iv), plaintext)
class TestCBC256Cryptography(unittest.TestCase):
# https://github.com/pyca/cryptography/blob/cd4de3ce6dc2a0dd4171b869e187857e4125853b/vectors/cryptography_vectors/ciphers/AES/CBC
TEMPLATE = """
def test_cbc256_{mode}_{name}_{count}(self):
key = bytes.fromhex("{key}")
iv = bytes.fromhex("{iv}")
plaintext = bytes.fromhex("{plaintext}")
ciphertext = bytes.fromhex("{ciphertext}")
self.assertEqual(tgcrypto.cbc256_{mode}({input}, key, iv), {output})
""".replace("\n ", "\n")
PATTERN = r"COUNT = (\d+)\nKEY = (\w+)\nIV = (\w+)\n(PLAINTEXT|CIPHERTEXT) = (\w+)\n(PLAINTEXT|CIPHERTEXT) = (\w+)"
BASE_PATH = os.path.dirname(__file__) + "/vectors"
for path in os.listdir(BASE_PATH):
path = BASE_PATH + "/" + path
with open(path, "r", encoding="utf-8") as f:
for match in re.finditer(PATTERN, f.read()):
count, key, iv, plain_or_cipher, bytes1, _, bytes2 = match.groups()
if plain_or_cipher == "PLAINTEXT":
mode = "encrypt"
plaintext = bytes1
ciphertext = bytes2
input = "plaintext"
output = "ciphertext"
else:
mode = "decrypt"
plaintext = bytes2
ciphertext = bytes1
input = "ciphertext"
output = "plaintext"
exec(
TEMPLATE.format(
mode=mode,
name=os.path.split(path)[-1].split(".")[0],
count=count,
key=key,
iv=iv,
plaintext=plaintext,
ciphertext=ciphertext,
input=input,
output=output
)
)
class TestCBC256Input(unittest.TestCase):
TYPE_ERROR_PATTERN = r"'\w+' does not (support|have) the buffer interface|a bytes-like object is required, not '\w+'"
def test_cbc256_encrypt_invalid_args_count(self):
with self.assertRaisesRegex(TypeError, r"function takes exactly \d arguments \(\d given\)"):
tgcrypto.cbc256_encrypt(os.urandom(16), os.urandom(32))
def test_cbc256_encrypt_invalid_args_type(self):
with self.assertRaisesRegex(TypeError, self.TYPE_ERROR_PATTERN):
tgcrypto.cbc256_encrypt(1, 2, 3)
def test_cbc256_encrypt_empty_data(self):
with self.assertRaisesRegex(ValueError, r"Data must not be empty"):
tgcrypto.cbc256_encrypt(b"", os.urandom(32), os.urandom(16))
def test_cbc256_encrypt_invalid_key_size(self):
with self.assertRaisesRegex(ValueError, r"Key size must be exactly 32 bytes"):
tgcrypto.cbc256_encrypt(os.urandom(16), os.urandom(31), os.urandom(16))
def test_cbc256_encrypt_invalid_iv_size(self):
with self.assertRaisesRegex(ValueError, r"IV size must be exactly 16 bytes"):
tgcrypto.cbc256_encrypt(os.urandom(16), os.urandom(32), os.urandom(15))
def test_cbc256_decrypt_invalid_args_count(self):
with self.assertRaisesRegex(TypeError, r"function takes exactly \d arguments \(\d given\)"):
tgcrypto.cbc256_decrypt(os.urandom(16), os.urandom(32))
def test_cbc256_decrypt_invalid_args_type(self):
with self.assertRaisesRegex(TypeError, self.TYPE_ERROR_PATTERN):
tgcrypto.cbc256_decrypt(1, 2, 3)
def test_cbc256_decrypt_empty_data(self):
with self.assertRaisesRegex(ValueError, r"Data must not be empty"):
tgcrypto.cbc256_decrypt(b"", os.urandom(32), os.urandom(16))
def test_cbc256_decrypt_invalid_key_size(self):
with self.assertRaisesRegex(ValueError, r"Key size must be exactly 32 bytes"):
tgcrypto.cbc256_decrypt(os.urandom(16), os.urandom(31), os.urandom(16))
def test_cbc256_decrypt_invalid_iv_size(self):
with self.assertRaisesRegex(ValueError, r"IV size must be exactly 16 bytes"):
tgcrypto.cbc256_decrypt(os.urandom(16), os.urandom(32), os.urandom(15))
class TestCBC256Random(unittest.TestCase):
DATA_CHUNK_MAX_SIZE = 64
KEY_SIZE = 32
IV_SIZE = 16
TESTS_AMOUNT = 500
TEMPLATE = """
def test_cbc256_random_{mode1}_{count}(self):
data = {data}
key = {key}
iv = {iv}
iv_copy = iv.copy()
a = tgcrypto.cbc256_{mode1}(data, key, iv)
b = tgcrypto.cbc256_{mode2}(a, key, iv_copy)
self.assertEqual(data, b)
""".replace("\n ", "\n")
for count in range(TESTS_AMOUNT):
exec(
TEMPLATE.format(
mode1="encrypt",
mode2="decrypt",
count=count,
data=os.urandom(random.randint(1, DATA_CHUNK_MAX_SIZE) * 16),
key=os.urandom(KEY_SIZE),
iv=bytearray(os.urandom(IV_SIZE)),
)
)
for count in range(TESTS_AMOUNT):
exec(
TEMPLATE.format(
mode1="decrypt",
mode2="encrypt",
count=count,
data=os.urandom(random.randint(1, DATA_CHUNK_MAX_SIZE) * 16),
key=os.urandom(KEY_SIZE),
iv=bytearray(os.urandom(IV_SIZE)),
)
)
if __name__ == "__main__":
unittest.main()
================================================
FILE: tests/cbc/vectors/CBCGFSbox256.rsp
================================================
# 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
================================================
FILE: tests/cbc/vectors/CBCKeySbox256.rsp
================================================
# 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
================================================
FILE: tests/cbc/vectors/CBCMMT256.rsp
================================================
# 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
================================================
FILE: tests/cbc/vectors/CBCVarKey256.rsp
================================================
# 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
================================================
FILE: tests/cbc/vectors/CBCVarTxt256.rsp
================================================
# 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 = 00000000000000000000000000000000
gitextract_oyonldn1/ ├── .github/ │ └── workflows/ │ └── wheels.yml ├── .gitignore ├── COPYING ├── COPYING.lesser ├── MANIFEST.in ├── NOTICE ├── README.md ├── pyproject.toml ├── setup.py ├── tests/ │ ├── __init__.py │ ├── cbc/ │ │ ├── __init__.py │ │ ├── test_cbc.py │ │ └── vectors/ │ │ ├── CBCGFSbox256.rsp │ │ ├── CBCKeySbox256.rsp │ │ ├── CBCMMT256.rsp │ │ ├── CBCVarKey256.rsp │ │ └── CBCVarTxt256.rsp │ ├── ctr/ │ │ ├── __init__.py │ │ └── test_ctr.py │ └── ige/ │ ├── __init__.py │ └── test_ige.py ├── tgcrypto/ │ ├── aes256.c │ ├── aes256.h │ ├── cbc256.c │ ├── cbc256.h │ ├── ctr256.c │ ├── ctr256.h │ ├── ige256.c │ ├── ige256.h │ └── tgcrypto.c └── tox.ini
SYMBOL INDEX (65 symbols across 5 files)
FILE: tests/cbc/test_cbc.py
class TestCBC256NIST (line 27) | class TestCBC256NIST(unittest.TestCase):
method test_cbc256_encrypt (line 30) | def test_cbc256_encrypt(self):
method test_cbc256_decrypt (line 56) | def test_cbc256_decrypt(self):
class TestCBC256Cryptography (line 83) | class TestCBC256Cryptography(unittest.TestCase):
class TestCBC256Input (line 135) | class TestCBC256Input(unittest.TestCase):
method test_cbc256_encrypt_invalid_args_count (line 138) | def test_cbc256_encrypt_invalid_args_count(self):
method test_cbc256_encrypt_invalid_args_type (line 142) | def test_cbc256_encrypt_invalid_args_type(self):
method test_cbc256_encrypt_empty_data (line 146) | def test_cbc256_encrypt_empty_data(self):
method test_cbc256_encrypt_invalid_key_size (line 150) | def test_cbc256_encrypt_invalid_key_size(self):
method test_cbc256_encrypt_invalid_iv_size (line 154) | def test_cbc256_encrypt_invalid_iv_size(self):
method test_cbc256_decrypt_invalid_args_count (line 158) | def test_cbc256_decrypt_invalid_args_count(self):
method test_cbc256_decrypt_invalid_args_type (line 162) | def test_cbc256_decrypt_invalid_args_type(self):
method test_cbc256_decrypt_empty_data (line 166) | def test_cbc256_decrypt_empty_data(self):
method test_cbc256_decrypt_invalid_key_size (line 170) | def test_cbc256_decrypt_invalid_key_size(self):
method test_cbc256_decrypt_invalid_iv_size (line 174) | def test_cbc256_decrypt_invalid_iv_size(self):
class TestCBC256Random (line 179) | class TestCBC256Random(unittest.TestCase):
FILE: tests/ctr/test_ctr.py
class TestCTR256NIST (line 26) | class TestCTR256NIST(unittest.TestCase):
method test_ctr256_encrypt (line 29) | def test_ctr256_encrypt(self):
method test_ctr256_decrypt (line 55) | def test_ctr256_decrypt(self):
class TestCTR256Cryptography (line 82) | class TestCTR256Cryptography(unittest.TestCase):
method test_ctr256_encrypt_extra1 (line 85) | def test_ctr256_encrypt_extra1(self):
method test_ctr256_encrypt_extra2 (line 93) | def test_ctr256_encrypt_extra2(self):
method test_ctr256_encrypt_extra3 (line 101) | def test_ctr256_encrypt_extra3(self):
class TestCTR256Input (line 110) | class TestCTR256Input(unittest.TestCase):
method test_ctr256_encrypt_invalid_args_count (line 113) | def test_ctr256_encrypt_invalid_args_count(self):
method test_ctr256_encrypt_invalid_args_type (line 117) | def test_ctr256_encrypt_invalid_args_type(self):
method test_ctr256_encrypt_empty_data (line 121) | def test_ctr256_encrypt_empty_data(self):
method test_ctr256_encrypt_invalid_key_size (line 125) | def test_ctr256_encrypt_invalid_key_size(self):
method test_ctr256_encrypt_invalid_iv_size (line 129) | def test_ctr256_encrypt_invalid_iv_size(self):
method test_ctr256_encrypt_invalid_state_size (line 133) | def test_ctr256_encrypt_invalid_state_size(self):
method test_ctr256_encrypt_invalid_state_value (line 137) | def test_ctr256_encrypt_invalid_state_value(self):
method test_ctr256_decrypt_invalid_args_count (line 141) | def test_ctr256_decrypt_invalid_args_count(self):
method test_ctr256_decrypt_invalid_args_type (line 145) | def test_ctr256_decrypt_invalid_args_type(self):
method test_ctr256_decrypt_empty_data (line 149) | def test_ctr256_decrypt_empty_data(self):
method test_ctr256_decrypt_invalid_key_size (line 153) | def test_ctr256_decrypt_invalid_key_size(self):
method test_ctr256_decrypt_invalid_iv_size (line 157) | def test_ctr256_decrypt_invalid_iv_size(self):
method test_ctr256_decrypt_invalid_state_size (line 161) | def test_ctr256_decrypt_invalid_state_size(self):
method test_ctr256_decrypt_invalid_state_value (line 165) | def test_ctr256_decrypt_invalid_state_value(self):
class TestCTR256Random (line 170) | class TestCTR256Random(unittest.TestCase):
FILE: tests/ige/test_ige.py
class TestIGE256Input (line 26) | class TestIGE256Input(unittest.TestCase):
method test_ige256_encrypt_invalid_args_count (line 29) | def test_ige256_encrypt_invalid_args_count(self):
method test_ige256_encrypt_invalid_args_type (line 33) | def test_ige256_encrypt_invalid_args_type(self):
method test_ige256_encrypt_empty_data (line 37) | def test_ige256_encrypt_empty_data(self):
method test_ige256_encrypt_invalid_key_size (line 41) | def test_ige256_encrypt_invalid_key_size(self):
method test_ige256_encrypt_invalid_iv_size (line 45) | def test_ige256_encrypt_invalid_iv_size(self):
method test_ige256_decrypt_invalid_args_count (line 49) | def test_ige256_decrypt_invalid_args_count(self):
method test_ige256_decrypt_invalid_args_type (line 53) | def test_ige256_decrypt_invalid_args_type(self):
method test_ige256_decrypt_empty_data (line 57) | def test_ige256_decrypt_empty_data(self):
method test_ige256_decrypt_invalid_key_size (line 61) | def test_ige256_decrypt_invalid_key_size(self):
method test_ige256_decrypt_invalid_iv_size (line 65) | def test_ige256_decrypt_invalid_iv_size(self):
class TestIGE256Random (line 70) | class TestIGE256Random(unittest.TestCase):
FILE: tgcrypto/aes256.c
function sub_word (line 352) | uint32_t sub_word(uint32_t word) {
function aes256_set_encryption_key (line 361) | void aes256_set_encryption_key(const uint8_t key[32], uint32_t expandedK...
function aes256_set_decryption_key (line 384) | void aes256_set_decryption_key(const uint8_t key[32], uint32_t expandedK...
function aes256_encrypt (line 406) | void aes256_encrypt(const uint8_t in[16], uint8_t out[16], const uint32_...
function aes256_decrypt (line 520) | void aes256_decrypt(const uint8_t in[16], uint8_t out[16], const uint32_...
FILE: tgcrypto/tgcrypto.c
function PyObject (line 34) | static PyObject *ige(PyObject *args, uint8_t encrypt) {
function PyObject (line 76) | static PyObject *ige256_encrypt(PyObject *self, PyObject *args) {
function PyObject (line 80) | static PyObject *ige256_decrypt(PyObject *self, PyObject *args) {
function PyObject (line 84) | static PyObject *ctr256_encrypt(PyObject *self, PyObject *args) {
function PyObject (line 131) | static PyObject *cbc(PyObject *args, uint8_t encrypt) {
function PyObject (line 173) | static PyObject *cbc256_encrypt(PyObject *self, PyObject *args) {
function PyObject (line 177) | static PyObject *cbc256_decrypt(PyObject *self, PyObject *args) {
type PyModuleDef (line 233) | struct PyModuleDef
function PyMODINIT_FUNC (line 241) | PyMODINIT_FUNC PyInit_tgcrypto(void) {
Condensed preview — 31 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (333K chars).
[
{
"path": ".github/workflows/wheels.yml",
"chars": 664,
"preview": "name: Build wheels\n\non: [push]\n\njobs:\n build_wheels:\n name: Build wheels on ${{ matrix.os }}\n runs-on: ${{ matrix"
},
{
"path": ".gitignore",
"chars": 1225,
"preview": "# PyCharm stuff\n.idea/\n\n# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n"
},
{
"path": "COPYING",
"chars": 35148,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "COPYING.lesser",
"chars": 7651,
"preview": " GNU LESSER GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007"
},
{
"path": "MANIFEST.in",
"chars": 83,
"preview": "## Include\ninclude COPYING COPYING.lesser NOTICE\nrecursive-include tgcrypto *.c *.h"
},
{
"path": "NOTICE",
"chars": 774,
"preview": "Pyrogram - Telegram MTProto API Client Library for Python\nCopyright (C) 2017-present Dan <https://github.com/delivrance>"
},
{
"path": "README.md",
"chars": 4410,
"preview": "# TgCrypto\n\n> [!NOTE]\n> The project is no longer maintained or supported. Thanks for appreciating it.\n\n> [!NOTE]\n> The i"
},
{
"path": "pyproject.toml",
"chars": 89,
"preview": "[build-system]\nrequires = [\"setuptools\", \"wheel\"]\nbuild-backend = \"setuptools.build_meta\""
},
{
"path": "setup.py",
"chars": 3235,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/__init__.py",
"chars": 818,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/cbc/__init__.py",
"chars": 818,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/cbc/test_cbc.py",
"chars": 8352,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/cbc/vectors/CBCGFSbox256.rsp",
"chars": 2296,
"preview": "# CAVS 11.1\n# Config info for aes_values\n# AESVS GFSbox test data for CBC\n# State : Encrypt and Decrypt\n# Key Length : 2"
},
{
"path": "tests/cbc/vectors/CBCKeySbox256.rsp",
"chars": 6951,
"preview": "# CAVS 11.1\n# Config info for aes_values\n# AESVS KeySbox test data for CBC\n# State : Encrypt and Decrypt\n# Key Length : "
},
{
"path": "tests/cbc/vectors/CBCMMT256.rsp",
"chars": 10163,
"preview": "# CAVS 11.1\n# Config info for aes_values\n# AESVS MMT test data for CBC\n# State : Encrypt and Decrypt\n# Key Length : 256\n"
},
{
"path": "tests/cbc/vectors/CBCVarKey256.rsp",
"chars": 109022,
"preview": "# CAVS 11.1\n# Config info for aes_values\n# AESVS VarKey test data for CBC\n# State : Encrypt and Decrypt\n# Key Length : 2"
},
{
"path": "tests/cbc/vectors/CBCVarTxt256.rsp",
"chars": 54494,
"preview": "# CAVS 11.1\n# Config info for aes_values\n# AESVS VarTxt test data for CBC\n# State : Encrypt and Decrypt\n# Key Length : 2"
},
{
"path": "tests/ctr/__init__.py",
"chars": 818,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/ctr/test_ctr.py",
"chars": 9323,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/ige/__init__.py",
"chars": 818,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tests/ige/test_ige.py",
"chars": 4335,
"preview": "# Pyrogram - Telegram MTProto API Client Library for Python\n# Copyright (C) 2017-present Dan <https://github.com/deliv"
},
{
"path": "tgcrypto/aes256.c",
"chars": 45037,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/aes256.h",
"chars": 1352,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/cbc256.c",
"chars": 1896,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/cbc256.h",
"chars": 996,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/ctr256.c",
"chars": 1786,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/ctr256.h",
"chars": 995,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/ige256.c",
"chars": 1931,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/ige256.h",
"chars": 1002,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tgcrypto/tgcrypto.c",
"chars": 6353,
"preview": "/*\n * Pyrogram - Telegram MTProto API Client Library for Python\n * Copyright (C) 2017-present Dan <https://github.com/de"
},
{
"path": "tox.ini",
"chars": 51,
"preview": "[testenv]\ndeps = pytest\ncommands = pytest {posargs}"
}
]
About this extraction
This page contains the full source code of the pyrogram/tgcrypto GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 31 files (315.3 KB), approximately 126.9k tokens, and a symbol index with 65 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.