Compare commits

..

13 Commits

Author SHA1 Message Date
e69c1677b2 v5.0.3 2017-10-31 18:49:25 +03:00
4dae8f50fa Merge pull request #47 from ONLYOFFICE/feature/ooxmlsign
Feature/ooxmlsign
2017-10-18 19:08:30 +03:00
9cc5ed1db0 . 2017-10-18 19:03:58 +03:00
6d1dd9c420 ms crypto bug 2017-10-18 18:58:04 +03:00
549e3dc579 Merge pull request #46 from ONLYOFFICE/feature/crypt
crypto fix padding size
2017-10-17 13:01:29 +03:00
8440b18223 crypto fix padding size 2017-10-17 12:57:47 +03:00
470eddf2b1 Merge 2017-10-13 14:43:33 +03:00
3813be21c7 --all-fonts-path param 2017-10-09 15:11:30 +03:00
68c8c0cb29 Merge pull request #42 from ONLYOFFICE/feature/docbuilder
Feature/docbuilder
2017-10-06 11:57:57 +03:00
ab0c5703a5 Added empty files 2017-10-06 11:04:59 +03:00
e22b63347f v8 (windows correct) 2017-10-05 18:13:52 +03:00
438ba3aded v5.0.1 2017-10-05 14:46:28 +03:00
29b002ca80 Added docbuilder target 2017-10-04 14:56:03 +03:00
480 changed files with 131583 additions and 114953 deletions

View File

@ -36,7 +36,7 @@ namespace BinDocxRW {
int Binary_VbaProjectTableReader::Read()
{
m_oFileWriter.m_pVbaProject = new OOX::VbaProject();
m_oFileWriter.m_pVbaProject = new OOX::VbaProject();
m_oFileWriter.m_pVbaProject->fromPPTY(&m_oBufferedStream);
return c_oSerConstants::ReadOk;
@ -118,4 +118,4 @@ int Binary_HdrFtrTableReader::ReadHdrFtrItemContent(BYTE type, long length, void
return pBinary_DocumentTableReader->ReadDocumentContent(type, length, NULL);
}
}
}

View File

@ -285,7 +285,7 @@ public:
}
int Read ();
};
};
class Binary_HdrFtrTableReader : public Binary_CommonReader<Binary_HdrFtrTableReader>
{
@ -885,11 +885,6 @@ public:
pCStringWriter->WriteString(oSectPr.Write());
pCStringWriter->WriteString(std::wstring(_T("</w:sectPr>")));
}break;
case c_oSerProp_pPrType::outlineLvl:
{
long outlineLvl = m_oBufferedStream.GetLong();
pCStringWriter->WriteString(L"<w:outlineLvl w:val=\"" + std::to_wstring(outlineLvl) + L"\"/>");
}break;
default:
res = c_oSerConstants::ReadUnknown;
break;

View File

@ -344,8 +344,7 @@ extern int g_nCurFormatVersion;
FramePr = 30,
SectPr = 31,
numPr_Ins = 32,
pPrChange = 33,
outlineLvl = 34
pPrChange = 33
};}
namespace c_oSerProp_rPrType{enum c_oSerProp_rPrType
{

View File

@ -1024,12 +1024,6 @@ namespace BinDocxRW
WritePPrChange(pPr.m_oPPrChange.get());
m_oBcw.WriteItemWithLengthEnd(nCurPos);
}
if(pPr.m_oOutlineLvl.IsInit() && pPr.m_oOutlineLvl->m_oVal.IsInit())
{
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_pPrType::outlineLvl);
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Long);
m_oBcw.m_oStream.WriteLONG(pPr.m_oOutlineLvl->m_oVal->GetValue());
}
//SectPr
if(NULL != m_oBinaryHeaderFooterTableWriter && pPr.m_oSectPr.IsInit())
{

View File

@ -95,7 +95,7 @@ bool BinDocxRW::CDocxSerializer::saveToFile(const std::wstring& sSrcFileName, co
oDrawingConverter.SetMainDocument(this);
oDrawingConverter.SetDstPath(pathMain.GetDirectory() + FILE_SEPARATOR_STR + L"word");
oDrawingConverter.SetMediaDstPath(pathMedia.GetPath());
oDrawingConverter.SetMediaDstPath(pathMedia.GetPath());
m_pParamsWriter = new ParamsWriter(&oBufferedStream, &fp, &oDrawingConverter, pEmbeddedFontsManager);
@ -265,10 +265,10 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
if (NULL != pData)
{
oDrawingConverter.SetMainDocument(this);
oDrawingConverter.SetMainDocument(this);
oDrawingConverter.SetDstPath(sDstPath + FILE_SEPARATOR_STR + L"word");
oDrawingConverter.SetMediaDstPath(sMediaPath);
oDrawingConverter.SetMediaDstPath(sMediaPath);
oDrawingConverter.SetEmbedDstPath(sEmbedPath);
m_pCurFileWriter = new Writers::FileWriter(sDstPath, m_sFontDir, false, nVersion, m_bSaveChartAsImg, &oDrawingConverter, sThemePath);

View File

@ -88,12 +88,12 @@ namespace BinXlsxRW{
{
std::wstring strFileInDir = NSSystemPath::GetDirectoryName(sSrcFileName);
NSBinPptxRW::CDrawingConverter oDrawingConverter;
NSBinPptxRW::CDrawingConverter oDrawingConverter;
oDrawingConverter.SetDstPath(sDstPath + FILE_SEPARATOR_STR + L"xl");
oDrawingConverter.SetSrcPath(strFileInDir, 2);
oDrawingConverter.SetMediaDstPath(sMediaDir);
oDrawingConverter.SetMediaDstPath(sMediaDir);
oDrawingConverter.SetEmbedDstPath(sEmbedDir);
BinXlsxRW::BinaryFileReader oBinaryFileReader;

View File

@ -314,7 +314,7 @@
17E17ED41AC453F800BEA2EA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0900;
LastUpgradeCheck = 0710;
ORGANIZATIONNAME = "Ascensio System SIA";
};
buildConfigurationList = 17E17ED71AC453F800BEA2EA /* Build configuration list for PBXProject "ASCOfficeDocxFile2Lib" */;
@ -402,7 +402,6 @@
EXECUTABLE_PREFIX = lib;
GCC_ENABLE_CPP_EXCEPTIONS = YES;
GCC_ENABLE_CPP_RTTI = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
@ -442,21 +441,13 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
@ -464,7 +455,6 @@
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@ -477,7 +467,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
@ -493,21 +483,13 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
@ -515,14 +497,13 @@
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;

View File

@ -70,22 +70,9 @@ public:
std::wstring sVal;
std::wstring sNode;
};
struct _reference
{
std::wstring name;
int type = -1;
std::wstring member_name;
int member_type = -1;
};
struct _group
{
std::wstring name;
std::vector<_field_value> caches;
};
struct _field
{
std::wstring name;
std::wstring display_name;
int type = -1;
int hierarchy = -1;
int function = -1;
@ -93,20 +80,13 @@ public:
bool data_layout = false;
bool show_empty = false;
bool repeat_item_labels = true;
int type_groups = 0;
int sort = 0;
std::wstring source_groups;
std::vector<int> subtotals;
std::vector<_field_value> caches;
std::vector<_reference> references;
int references_field = -1;
bool used_in_referenes = false;
int type_groups = 0;
int base_group = -1;
std::wstring source_groups;
std::vector<_group> groups;
std::vector<int> groups_discrete;
bool bDataFieldEnabled = false;
bool bString = false;
@ -162,10 +142,8 @@ public:
bool identify_categories = false;
bool drill_enabled = true;
bool ignore_empty_rows = false;
bool data_on_row = false;
bool in_group = false;
}current_;
void sort_fields();
@ -281,162 +259,17 @@ xlsx_pivots_context::xlsx_pivots_context() : impl_(new xlsx_pivots_context::Impl
}
void xlsx_pivots_context::Impl::sort_fields()
{
size_t count_skip = 0;
for (size_t i = 0; i < current_.fields.size() - count_skip; i++)
for (size_t i = 0; i < current_.fields.size(); i++)
{
if (!current_.fields[i].source_groups.empty() && i != current_.fields.size() - count_skip)
{
current_.fields.push_back(current_.fields[i]);
current_.fields.erase(current_.fields.begin() + i , current_.fields.begin() + i + 1);
i--;
count_skip++;
}
}
count_skip = 0;
for (size_t i = 0; i < current_.fields.size() - count_skip; i++)
{
if (current_.fields[i].name.empty() && i != current_.fields.size() - count_skip)
{
current_.fields.push_back(current_.fields[i]);
current_.fields.erase(current_.fields.begin() + i , current_.fields.begin() + i + 1);
i--;
count_skip++;
}
}
bool bEmptyRowCache = false, bAddRepeateCol = false;
bool bEmptyColCache = false, bAddRepeateRow = false;
int index_current = 0;
for (size_t i = 0; i < current_.fields.size(); i++, index_current++)
{
if ( current_.fields[i].type_groups > 0 )
{
current_.fields[i].base_group = 0;
int index_group = 0;
for (size_t k = 0; k < current_.fields.size(); k++)
{
if (current_.fields[k].type == 7) continue;
if (current_.fields[k].name == current_.fields[i].source_groups && !current_.fields[i].source_groups.empty())
{
if (current_.fields[k].type_groups == 0)
current_.fields[k].base_group = index_current; //опорный (если он и базовый - не писать)
current_.fields[i].base_group = index_group;
for (size_t c = 0; !current_.fields[i].groups.empty() && c < current_.fields[k].caches.size(); c++)
{
for (size_t g = 0; g < current_.fields[i].groups.size(); g++)
{
for (size_t h = 0; h < current_.fields[i].groups[g].caches.size(); h++)
{
if (current_.fields[i].groups[g].caches[h].sVal == current_.fields[k].caches[c].sVal)
current_.fields[i].groups_discrete.push_back(g);
}
}
}
break;
}
index_group++;
}
}
if ( current_.fields[i].name.empty() &&
!current_.fields[i].data_layout)
if (current_.fields[i].type == 7)
continue;
switch(current_.fields[i].type)
if (!current_.fields[i].source_groups.empty() && i != current_.fields.size() -1)
{
case 0: // column
{
if (!current_.fields[i].name.empty())
current_.col_fields.push_back(i);
if (current_.fields[i].data_layout)
{
if ((current_.fields[i].name.empty() && (!current_.identify_categories || current_.fields[i].hierarchy >= 0)) ||
current_.fields[i].used_in_referenes )
{
if ((current_.col_fields.empty()) || (current_.col_fields.back() != -2))
{
bAddRepeateCol = true;
}
}
}
if (current_.fields[i].caches.empty())
bEmptyColCache = true;
}break;
case 1: // data
{
int index_field = -1;
for (size_t j = 0; j < i/*current_.fields.size()*/; j++)
{
if ( current_.fields[j].name == current_.fields[i].name )
{
current_.fields[j].bDataFieldEnabled = true;
index_field = j;
break;
}
}
if (index_field >= 0)
{
if (current_.fields[i].caches.empty())
{
current_.fields[i].type = 7; //skip
current_.fields_count--;
index_current--;
}
current_.fields[i].references_field = index_field;
}
index_field = i;
current_.fields[i].bDataFieldEnabled = true;
current_.data_fields.push_back(index_field);
}break;
case 2: // hidden
{
}break;
case 3: // page
{
current_.page_fields.push_back(i);
}break;
case 4: // row
{
if (!current_.fields[i].name.empty())
current_.row_fields.push_back(i);
if (current_.fields[i].data_layout)
{
current_.data_on_row = true;
if ((current_.fields[i].name.empty() && (!current_.identify_categories || current_.fields[i].hierarchy >= 0)) ||
current_.fields[i].used_in_referenes )
{
bAddRepeateRow = true;
}
}
if (current_.fields[i].caches.empty())
bEmptyRowCache = true;
}break;
}
if (current_.fields[i].name.empty())
{
current_.fields.erase(current_.fields.begin() + i, current_.fields.begin() + i + 1);
current_.fields_count--;
current_.fields.push_back(current_.fields[i]);
current_.fields.erase(current_.fields.begin() + i , current_.fields.begin() + i + 1);
i--;
}
}
if (bAddRepeateCol || bEmptyColCache)
current_.col_fields.push_back(-2);
if (bAddRepeateRow)
current_.row_fields.push_back(-2);
}
void xlsx_pivots_context::Impl::serialize_view(std::wostream & strm)
{
@ -635,38 +468,22 @@ void xlsx_pivots_context::Impl::serialize_view(std::wostream & strm)
}
CP_XML_ATTR(L"defaultSubtotal", 0);
if (current_.fields[i].type != 2)
if (!current_.fields[i].caches.empty() && current_.fields[i].type != 2)
{
if (!current_.fields[i].groups.empty())
{
CP_XML_NODE(L"items")
{
CP_XML_ATTR(L"count", current_.fields[i].groups.size());
for (size_t j = 0; j < current_.fields[i].groups.size(); j++)
{
CP_XML_NODE(L"item")
{
CP_XML_ATTR(L"x", j);
}
}
}
}
else if (!current_.fields[i].caches.empty())
{
CP_XML_NODE(L"items")
{
CP_XML_ATTR(L"count", current_.fields[i].caches.size());
for (size_t j = 0; j < current_.fields[i].caches.size(); j++)
{
CP_XML_NODE(L"item")
{
CP_XML_ATTR(L"x", j);
}
CP_XML_NODE(L"items")
{
CP_XML_ATTR(L"count", current_.fields[i].caches.size());
for (size_t j = 0; j < current_.fields[i].caches.size(); j++)
{
CP_XML_NODE(L"item")
{
CP_XML_ATTR(L"x", j);
}
}
}
}
}
//CP_XML_STREAM() << fields_[i].view_;
}
}
if (!current_.row_fields.empty())
@ -720,85 +537,35 @@ void xlsx_pivots_context::Impl::serialize_view(std::wostream & strm)
CP_XML_ATTR(L"count", current_.data_fields.size());
for (size_t i = 0; i < current_.data_fields.size(); i++)
{
int ind_field_dirty = current_.data_fields[i];
CP_XML_NODE(L"dataField")
{
int fld = 0, ind_fld = current_.fields[ind_field_dirty].references_field < 0 ? ind_field_dirty :
current_.fields[ind_field_dirty].references_field;
for (size_t k = 0; k < ind_fld; k++)
{
if (current_.fields[k].type != 7 ) fld++;
}
CP_XML_ATTR(L"fld", fld);
if (current_.fields[ind_field_dirty].references.empty())
{
CP_XML_ATTR(L"baseField", fld);
}
else
{
size_t base_field = 0, base_item = 0;
for (size_t k = 0; k < current_.fields.size(); k++)
{
if (current_.fields[k].type == 7 ) continue;
{
CP_XML_ATTR(L"fld", current_.data_fields[i]);
CP_XML_ATTR(L"baseField", current_.data_fields[i]);
//CP_XML_ATTR(L"baseItem", -1);
//CP_XML_ATTR(L"name", L"");
if (current_.fields[k].name == current_.fields[ind_field_dirty].references[0].name)
{
for (size_t j = 0; j < current_.fields[k].caches.size(); j++)
{
if (current_.fields[k].caches[j].sVal == current_.fields[ind_field_dirty].references[0].member_name)
{
base_item = j;
break;
}
}
break;
}
base_field++;
}
CP_XML_ATTR(L"baseField", base_field);
CP_XML_ATTR(L"baseItem", base_item);
switch(current_.fields[ind_field_dirty].references[0].type)
{
case 1: CP_XML_ATTR(L"showDataAs", L"difference"); break;
case 2: CP_XML_ATTR(L"showDataAs", L"percent"); break;
case 3: CP_XML_ATTR(L"showDataAs", L"percentDiff"); break;
}
}
std::wstring name;
if (ind_field_dirty >= 0 && ind_field_dirty < current_.fields.size())
int ind_field = current_.data_fields[i];
if (ind_field >= 0 && ind_field < current_.fields.size())
{
switch(current_.fields[ind_field_dirty].function)
switch(current_.fields[ind_field].function)
{
case 1: CP_XML_ATTR(L"subtotal", L"average"); name = L"average "; break;
case 2: CP_XML_ATTR(L"subtotal", L"count"); name = L"count "; break;
case 3: CP_XML_ATTR(L"subtotal", L"countNums"); name = L"countNums "; break;
case 4: CP_XML_ATTR(L"subtotal", L"max"); name = L"max "; break;
case 5: CP_XML_ATTR(L"subtotal", L"min"); name = L"min "; break;
case 6: CP_XML_ATTR(L"subtotal", L"product"); name = L"product "; break;
case 7: CP_XML_ATTR(L"subtotal", L"stdDev"); name = L"stdDev Dev "; break;
case 8: CP_XML_ATTR(L"subtotal", L"stdDevp"); name = L"stdDevp "; break;
case 9: CP_XML_ATTR(L"subtotal", L"sum"); name = L"sum by "; break;
case 10: CP_XML_ATTR(L"subtotal", L"var"); name = L"var "; break;
case 11: CP_XML_ATTR(L"subtotal", L"varp"); name = L"varp "; break;
case 1: CP_XML_ATTR(L"subtotal", L"average"); break;
case 2: CP_XML_ATTR(L"subtotal", L"count"); break;
case 3: CP_XML_ATTR(L"subtotal", L"countNums"); break;
case 4: CP_XML_ATTR(L"subtotal", L"max"); break;
case 5: CP_XML_ATTR(L"subtotal", L"min"); break;
case 6: CP_XML_ATTR(L"subtotal", L"product"); break;
case 7: CP_XML_ATTR(L"subtotal", L"stdDev"); break;
case 8: CP_XML_ATTR(L"subtotal", L"stdDevp"); break;
case 9: CP_XML_ATTR(L"subtotal", L"sum"); break;
case 10: CP_XML_ATTR(L"subtotal", L"var"); break;
case 11: CP_XML_ATTR(L"subtotal", L"varp"); break;
case 12:
{
CP_XML_ATTR(L"subtotal", current_.fields[current_.data_fields[i]].user_function);
}break;
default: break;
}
if (current_.fields[ind_field_dirty].display_name.empty())
{
name += current_.fields[ind_field_dirty].name;
}
else
{
name = current_.fields[ind_field_dirty].display_name;
}
CP_XML_ATTR(L"name", name);
}
}
}
@ -941,7 +708,6 @@ void xlsx_pivots_context::Impl::serialize_cache(std::wostream & strm)
}
}
}
int index_current = 0;
if (current_.fields.empty() == false)
{
@ -978,12 +744,11 @@ void xlsx_pivots_context::Impl::serialize_cache(std::wostream & strm)
{
CP_XML_ATTR(L"count", current_.fields[i].caches.size());
}
else if (current_.fields[i].type_groups < 8)
{//group by date
else
{
current_.fields[i].bDate = true;
current_.fields[i].bString = false;
}
//else group by fields
serialize_type_field(CP_GET_XML_NODE(), current_.fields[i]);
if ( current_.fields[i].type_groups == 0 )
@ -1001,78 +766,37 @@ void xlsx_pivots_context::Impl::serialize_cache(std::wostream & strm)
}
}
}
if (current_.fields[i].base_group >= 0)
if ( current_.fields[i].type_groups != 0 )
{
CP_XML_NODE(L"fieldGroup")
{
if ( current_.fields[i].type_groups > 0)
{
CP_XML_ATTR(L"base", 0);
CP_XML_NODE(L"rangePr")
{
CP_XML_ATTR(L"base", current_.fields[i].base_group);
}
else
{
CP_XML_ATTR(L"par", current_.fields[i].base_group);
}
if (current_.fields[i].type_groups > 0)
{
if (current_.fields[i].type_groups < 8)
switch(current_.fields[i].type_groups)
{
CP_XML_NODE(L"rangePr")
{
switch(current_.fields[i].type_groups)
{
case 1: CP_XML_ATTR(L"groupBy", L"seconds"); break;
case 2: CP_XML_ATTR(L"groupBy", L"minutes"); break;
case 3: CP_XML_ATTR(L"groupBy", L"hours"); break;
case 4: CP_XML_ATTR(L"groupBy", L"days"); break;
case 5: CP_XML_ATTR(L"groupBy", L"months"); break;
case 6: CP_XML_ATTR(L"groupBy", L"quarters"); break;
case 7: CP_XML_ATTR(L"groupBy", L"years"); break;
}
CP_XML_ATTR(L"startDate", L"1899-12-31T00:00:00");
CP_XML_ATTR(L"endDate", L"1899-12-31T00:00:00");
}
case 1: CP_XML_ATTR(L"groupBy", L"seconds"); break;
case 2: CP_XML_ATTR(L"groupBy", L"minutes"); break;
case 3: CP_XML_ATTR(L"groupBy", L"hours"); break;
case 4: CP_XML_ATTR(L"groupBy", L"days"); break;
case 5: CP_XML_ATTR(L"groupBy", L"months"); break;
case 6: CP_XML_ATTR(L"groupBy", L"quarters"); break;
case 7: CP_XML_ATTR(L"groupBy", L"years"); break;
}
if (!current_.fields[i].groups_discrete.empty())
CP_XML_ATTR(L"startDate", L"1899-12-31T00:00:00");
CP_XML_ATTR(L"endDate", L"1899-12-31T00:00:00");
}
CP_XML_NODE(L"groupItems")
{
CP_XML_ATTR(L"count", current_.fields[i].caches.size());
for (size_t j = 0; j < current_.fields[i].caches.size(); j++)
{
CP_XML_NODE(L"discretePr")
CP_XML_NODE(current_.fields[i].caches[j].sNode)
{
CP_XML_ATTR(L"count", current_.fields[i].groups_discrete.size());
for (size_t j = 0; j < current_.fields[i].groups_discrete.size(); j++)
if (current_.fields[i].caches[j].sVal.empty() == false)
{
CP_XML_NODE(L"x")
{
CP_XML_ATTR(L"v", current_.fields[i].groups_discrete[j]);
}
}
}
}
CP_XML_NODE(L"groupItems")
{
if (!current_.fields[i].groups.empty())
{
CP_XML_ATTR(L"count", current_.fields[i].groups.size());
for (size_t j = 0; j < current_.fields[i].groups.size(); j++)
{
CP_XML_NODE(L"s")
{
CP_XML_ATTR(L"v", current_.fields[i].groups[j].name);
}
}
}
else
{
CP_XML_ATTR(L"count", current_.fields[i].caches.size());
for (size_t j = 0; j < current_.fields[i].caches.size(); j++)
{
CP_XML_NODE(current_.fields[i].caches[j].sNode)
{
if (current_.fields[i].caches[j].sVal.empty() == false)
{
CP_XML_ATTR(L"v", current_.fields[i].caches[j].sVal);
}
}
CP_XML_ATTR(L"v", current_.fields[i].caches[j].sVal);
}
}
}
@ -1080,8 +804,6 @@ void xlsx_pivots_context::Impl::serialize_cache(std::wostream & strm)
}
}
}
index_current++;
}
}
}
@ -1218,10 +940,6 @@ void xlsx_pivots_context::set_identify_categories(bool val)
{
impl_->current_.identify_categories = val;
}
void xlsx_pivots_context::set_ignore_empty_rows(bool val)
{
impl_->current_.ignore_empty_rows = val;
}
void xlsx_pivots_context::set_drill(bool val)
{
impl_->current_.drill_enabled = val;
@ -1237,86 +955,75 @@ void xlsx_pivots_context::set_field_name(std::wstring name)
{
impl_->current_.fields.back().name = name;
}
void xlsx_pivots_context::set_field_display(std::wstring name)
{
impl_->current_.fields.back().display_name = name;
}
void xlsx_pivots_context::set_field_type(int type, int hierarchy)
{
impl_->current_.fields.back().type = type;
impl_->current_.fields.back().hierarchy = hierarchy;
//if ( impl_->current_.fields.back().name.empty() &&
// !impl_->current_.fields.back().data_layout)
// return;
if ( impl_->current_.fields.back().name.empty() &&
!impl_->current_.fields.back().data_layout)
return;
//switch(type)
//{
// case 0: // column
// {
// if (impl_->current_.fields.back().data_layout)
// {
// if (impl_->current_.fields.back().name.empty() && (!impl_->current_.identify_categories || hierarchy >= 0))
// //impl_->current_.fields.back().repeat_item_labels )) //????
// impl_->current_.col_fields.push_back(-2);
// }
// else
// impl_->current_.col_fields.push_back(impl_->current_.fields.size() - 1);
// }break;
// case 1: // data
// {
// int index_field = -1;
//
// for (size_t i = 0; i < impl_->current_.fields.size() - 1; i++)
// {
// if (impl_->current_.fields[i].name == impl_->current_.fields.back().name &&
// (impl_->current_.fields[i].type != 1 || !impl_->current_.fields.back().references.empty()))
// {
// impl_->current_.fields[i].bDataFieldEnabled = true;
// index_field = i;
// break;
// }
// }
// if (index_field >= 0)
// {
// impl_->current_.fields.back().type = 7; //skip
// impl_->current_.fields_count--;
//
// if (!impl_->current_.fields.back().references.empty())
// {
// impl_->current_.fields.back().references_field = index_field;
// impl_->current_.fields.back().bDataFieldEnabled = true;
//
// index_field = impl_->current_.fields.size() - 1;
// }
// }
// else
// {
// index_field = impl_->current_.fields.size() - 1;
// impl_->current_.fields.back().bDataFieldEnabled = true;
// }
// impl_->current_.data_fields.push_back(index_field);
// }break;
// case 2: // hidden
// break;
// case 3: // page
// impl_->current_.page_fields.push_back(impl_->current_.fields.size() - 1);
// break;
// case 4: // row
// if (impl_->current_.fields.back().data_layout)
// {
// impl_->current_.data_on_row = true;
switch(type)
{
case 0: // column
{
if (impl_->current_.fields.back().data_layout)
{
if (impl_->current_.fields.back().name.empty() && (!impl_->current_.identify_categories || hierarchy >= 0))
//impl_->current_.fields.back().repeat_item_labels )) //????
impl_->current_.col_fields.push_back(-2);
}
else
impl_->current_.col_fields.push_back(impl_->current_.fields.size() - 1);
}break;
case 1: // data
{
int index_field = -1;
for (size_t i = 0; i < impl_->current_.fields.size(); i++)
{
if (impl_->current_.fields[i].name == impl_->current_.fields.back().name &&
impl_->current_.fields[i].type != 1)
{
impl_->current_.fields[i].bDataFieldEnabled = true;
index_field = i;
break;
}
}
if (index_field >= 0)
{
impl_->current_.fields.back().type = 7;
impl_->current_.fields_count--;
impl_->current_.data_fields.push_back(index_field);
}
else
{
index_field = impl_->current_.fields.size() - 1;
impl_->current_.fields.back().bDataFieldEnabled = true;
impl_->current_.data_fields.push_back(index_field);
}
}break;
case 2: // hidden
break;
case 3: // page
impl_->current_.page_fields.push_back(impl_->current_.fields.size() - 1);
break;
case 4: // row
if (impl_->current_.fields.back().data_layout)
{
impl_->current_.data_on_row = true;
// if (impl_->current_.fields.back().name.empty() && (!impl_->current_.identify_categories || hierarchy >= 0))
// //(impl_->current_.fields.back().repeat_item_labels ||
// // !impl_->current_.identify_categories ))
// impl_->current_.row_fields.push_back(-2);
if (impl_->current_.fields.back().name.empty() && (!impl_->current_.identify_categories || hierarchy >= 0))
//(impl_->current_.fields.back().repeat_item_labels ||
// !impl_->current_.identify_categories ))
impl_->current_.row_fields.push_back(-2);
// }
// else
// impl_->current_.row_fields.push_back(impl_->current_.fields.size() - 1);
// break;
//}
}
else
impl_->current_.row_fields.push_back(impl_->current_.fields.size() - 1);
break;
}
}
void xlsx_pivots_context::set_field_function(int type)
{
@ -1351,56 +1058,10 @@ void xlsx_pivots_context::set_field_groups_source(std::wstring name)
{
impl_->current_.fields.back().source_groups = name;
}
void xlsx_pivots_context::start_field_group()
{
impl_->current_.in_group = true;
Impl::_group group;
impl_->current_.fields.back().groups.push_back(group);
}
void xlsx_pivots_context::set_field_group_name (std::wstring name)
{
impl_->current_.fields.back().groups.back().name = name;
}
void xlsx_pivots_context::end_field_group()
{
impl_->current_.in_group = false;
}
void xlsx_pivots_context::set_field_sort(int type)
{
impl_->current_.fields.back().sort = type + 1;
}
void xlsx_pivots_context::start_field_reference()
{
Impl::_reference ref;
impl_->current_.fields.back().references.push_back(ref);
}
void xlsx_pivots_context::end_field_reference()
{
}
void xlsx_pivots_context::set_field_ref_name(std::wstring name)
{
impl_->current_.fields.back().references.back().name = name;
for (size_t i = 0; i < impl_->current_.fields.size(); i++)
{
if (impl_->current_.fields[i].name == name)
{
impl_->current_.fields[i].used_in_referenes = true;
}
}
}
void xlsx_pivots_context::set_field_ref_type (int type)
{
impl_->current_.fields.back().references.back().type = type;
}
void xlsx_pivots_context::set_field_ref_member_name(std::wstring name)
{
impl_->current_.fields.back().references.back().member_name = name;
}
void xlsx_pivots_context::set_field_ref_member_type(int type)
{
impl_->current_.fields.back().references.back().member_type = type;
}
void xlsx_pivots_context::add_field_cache(int index, std::wstring value)
{
if (index < 0)
@ -1470,20 +1131,14 @@ void xlsx_pivots_context::add_field_cache(int index, std::wstring value)
}
}
impl_->current_.fields.back().caches.push_back(Impl::_field_value(value, node_name));
if (impl_->current_.in_group)
{
impl_->current_.fields.back().groups.back().caches.push_back(impl_->current_.fields.back().caches.back());
}
}
void xlsx_pivots_context::end_field()
{
//if (impl_->current_.fields.back().name.empty())
//{
// impl_->current_.fields_count--;
// impl_->current_.fields.pop_back();
//}
if (impl_->current_.fields.back().name.empty())
{
impl_->current_.fields_count--;
impl_->current_.fields.pop_back();
}
}
void xlsx_pivots_context::set_source_range(std::wstring table_name, std::wstring ref)
{

View File

@ -51,7 +51,6 @@ public:
void start_field ();
void set_field_name (std::wstring name);
void set_field_display (std::wstring name);
void set_field_type (int type, int hierarchy);
void set_field_function (int type);
void set_field_user_function (std::wstring f);
@ -60,22 +59,9 @@ public:
void set_field_show_empty (bool val);
void set_field_data_layout (bool val);
void set_field_sort (int type);
void set_repeat_item_labels(bool val);
void set_field_groups (int type);
void set_field_groups_source(std::wstring name);
void start_field_group();
void set_field_group_name (std::wstring name);
void end_field_group();
void start_field_reference();
void set_field_ref_name(std::wstring name);
void set_field_ref_type (int type);
void set_field_ref_member_name(std::wstring name);
void set_field_ref_member_type(int type);
void end_field_reference();
void set_repeat_item_labels(bool val);
void end_field();
int get_count();
@ -87,7 +73,6 @@ public:
void add_button_header(std::wstring ref);
void set_identify_categories(bool val);
void set_ignore_empty_rows(bool val);
void set_drill(bool val);
void set_source_range(std::wstring table_name, std::wstring ref);
@ -113,6 +98,7 @@ public:
private:
class Impl;
_CP_PTR(Impl) impl_;
};
}

View File

@ -123,9 +123,6 @@ void table_data_pilot_table::xlsx_convert(oox::xlsx_conversion_context & Context
if (table_identify_categories_)
Context.get_pivots_context().set_identify_categories(table_identify_categories_->get());
if (table_ignore_empty_rows_)
Context.get_pivots_context().set_ignore_empty_rows(table_ignore_empty_rows_->get());
if (table_drill_down_ondouble_click_)
Context.get_pivots_context().set_drill(table_drill_down_ondouble_click_->get());
@ -158,7 +155,6 @@ void table_data_pilot_field::add_attributes( const xml::attributes_wc_ptr & Attr
CP_APPLY_ATTR(L"loext:ignore-selected-page" , loext_ignore_selected_page_);
CP_APPLY_ATTR(L"table:selected-page" , table_selected_page_);
CP_APPLY_ATTR(L"table:is-data-layout-field" , table_is_data_layout_field_);
CP_APPLY_ATTR(L"tableooo:display-name" , table_display_name_);
}
void table_data_pilot_field::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
@ -179,9 +175,6 @@ void table_data_pilot_field::xlsx_convert(oox::xlsx_conversion_context & Context
Context.get_pivots_context().set_field_name(table_source_field_name_.get_value_or(L""));
if (table_display_name_)
Context.get_pivots_context().set_field_display(*table_display_name_);
if (table_is_data_layout_field_)
Context.get_pivots_context().set_field_data_layout(table_is_data_layout_field_->get());
@ -224,24 +217,7 @@ void table_data_pilot_field_reference::add_attributes( const xml::attributes_wc_
void table_data_pilot_field_reference::xlsx_convert(oox::xlsx_conversion_context & Context)
{
Context.get_pivots_context().start_field_reference();
if (table_field_name_)
{
Context.get_pivots_context().set_field_ref_name(*table_field_name_);
}
if (table_type_)
{
Context.get_pivots_context().set_field_ref_type(table_type_->get_type());
}
if (table_member_name_)
{
Context.get_pivots_context().set_field_ref_member_name(*table_member_name_);
}
if (table_member_type_)
{
Context.get_pivots_context().set_field_ref_member_type(table_member_type_->get_type());
}
Context.get_pivots_context().end_field_reference();
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_database_source_table::ns = L"table";
@ -429,8 +405,6 @@ void table_data_pilot_groups::xlsx_convert(oox::xlsx_conversion_context & Contex
{
if (table_grouped_by_)
Context.get_pivots_context().set_field_groups(table_grouped_by_->get_type());
else
Context.get_pivots_context().set_field_groups(7);
if (table_source_field_name_)
Context.get_pivots_context().set_field_groups_source(*table_source_field_name_);
@ -455,16 +429,10 @@ void table_data_pilot_group::add_child_element( xml::sax * Reader, const std::ws
}
void table_data_pilot_group::xlsx_convert(oox::xlsx_conversion_context & Context)
{
Context.get_pivots_context().start_field_group();
if (table_name_)
Context.get_pivots_context().set_field_group_name (*table_name_);
for (size_t i = 0; i < content_.size(); i++)
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
Context.get_pivots_context().end_field_group();
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_data_pilot_members::ns = L"table";
@ -502,12 +470,12 @@ const wchar_t * table_data_pilot_group_member::name = L"data-pilot-group-member"
void table_data_pilot_group_member::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"table:name", table_name_);
CP_APPLY_ATTR(L"table:name", table_name_);
}
void table_data_pilot_group_member::xlsx_convert(oox::xlsx_conversion_context & Context)
{
Context.get_pivots_context().add_field_cache(-1, table_name_.get_value_or(L""));
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_data_pilot_subtotals::ns = L"table";

View File

@ -130,7 +130,6 @@ public:
_CP_OPT(odf_types::Bool) loext_ignore_selected_page_;
_CP_OPT(std::wstring) table_selected_page_;
_CP_OPT(odf_types::Bool) table_is_data_layout_field_;
_CP_OPT(std::wstring) table_display_name_;
office_element_ptr reference_;
office_element_ptr level_;

View File

@ -1922,7 +1922,7 @@
17063B5B1AC5708E0056A3F1 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0900;
LastUpgradeCheck = 0730;
ORGANIZATIONNAME = "Ascensio System SIA";
};
buildConfigurationList = 17063B5E1AC5708E0056A3F1 /* Build configuration list for PBXProject "PPTXFormatLib" */;
@ -2004,21 +2004,13 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
@ -2026,7 +2018,6 @@
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@ -2039,7 +2030,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
@ -2055,21 +2046,13 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
@ -2077,14 +2060,13 @@
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;

View File

@ -394,7 +394,7 @@
6967B1211E27B44D00A129E2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0900;
LastUpgradeCheck = 0820;
ORGANIZATIONNAME = OnlyOffce;
TargetAttributes = {
6967B1281E27B44D00A129E2 = {
@ -468,9 +468,7 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
@ -478,11 +476,7 @@
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@ -505,7 +499,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -521,9 +515,7 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
@ -531,11 +523,7 @@
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@ -552,7 +540,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;

View File

@ -148,7 +148,7 @@
6967AFB71E2798B900A129E2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0900;
LastUpgradeCheck = 0820;
ORGANIZATIONNAME = OnlyOffce;
TargetAttributes = {
6967AFBE1E2798B900A129E2 = {
@ -202,9 +202,7 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
@ -212,11 +210,7 @@
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@ -239,7 +233,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -255,9 +249,7 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
@ -265,11 +257,7 @@
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@ -286,7 +274,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;

View File

@ -108,37 +108,37 @@ BaseObjectPtr SERIESDATA::clone()
// SERIESDATA = Dimensions 3(SIIndex *(Number / BoolErr / Blank / Label))
const bool SERIESDATA::loadContent(BinProcessor& proc)
{
bool result = false;
if(proc.optional<Dimensions>())
if(!proc.optional<Dimensions>())
{
return false;
}
if (elements_.size() > 0)
{
m_Dimensions = elements_.back();
elements_.pop_back();
result = true;
}
int count = proc.repeated<Parenthesis_SERIESDATA_1>(3, 3);
if (count > 0)
{
result = true;
int count1= elements_.size();
while(count1 > 0)
int count1= elements_.size();
while(count1 > 0)
{
if ("SIIndex" == elements_.front()->getClassName())
{
if ("SIIndex" == elements_.front()->getClassName())
{
m_arSIIndex.push_back(elements_.front()); count--;
}
else
{
SIIndex * si_in = dynamic_cast<SIIndex *>(m_arSIIndex.back().get());
if (si_in)
si_in->m_arData.push_back(elements_.front());
}
elements_.pop_front(); count1--;
m_arSIIndex.push_back(elements_.front()); count--;
}
else
{
SIIndex * si_in = dynamic_cast<SIIndex *>(m_arSIIndex.back().get());
if (si_in)
si_in->m_arData.push_back(elements_.front());
}
elements_.pop_front(); count1--;
}
return result;
return true;
}
} // namespace XLS

View File

@ -1,146 +1,143 @@
// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c
// The original code and all modifications are in the public domain.
#include "pch.h"
#include "3way.h"
#include "misc.h"
NAMESPACE_BEGIN(CryptoPP)
#if CRYPTOPP_DEBUG && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
void ThreeWay_TestInstantiations()
{
ThreeWay::Encryption x1;
ThreeWay::Decryption x2;
}
#endif
namespace
{
const word32 START_E = 0x0b0b; // round constant of first encryption round
const word32 START_D = 0xb1b1; // round constant of first decryption round
#ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
const word32 RC_MODULUS = 0x11011;
#endif
}
static inline word32 reverseBits(word32 a)
{
a = ((a & 0xAAAAAAAA) >> 1) | ((a & 0x55555555) << 1);
a = ((a & 0xCCCCCCCC) >> 2) | ((a & 0x33333333) << 2);
return ((a & 0xF0F0F0F0) >> 4) | ((a & 0x0F0F0F0F) << 4);
}
#define mu(a0, a1, a2) \
{ \
a1 = reverseBits(a1); \
word32 t = reverseBits(a0); \
a0 = reverseBits(a2); \
a2 = t; \
}
#define pi_gamma_pi(a0, a1, a2) \
{ \
word32 b0, b2; \
b2 = rotlFixed(a2, 1U); \
b0 = rotlFixed(a0, 22U); \
a0 = rotlFixed(b0 ^ (a1|(~b2)), 1U); \
a2 = rotlFixed(b2 ^ (b0|(~a1)), 22U);\
a1 ^= (b2|(~b0)); \
}
// thanks to Paulo Barreto for this optimized theta()
#define theta(a0, a1, a2) \
{ \
word32 b0, b1, c; \
c = a0 ^ a1 ^ a2; \
c = rotlFixed(c, 16U) ^ rotlFixed(c, 8U); \
b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); \
b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); \
a0 ^= c ^ b0; \
a1 ^= c ^ b1; \
a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); \
}
#define rho(a0, a1, a2) \
{ \
theta(a0, a1, a2); \
pi_gamma_pi(a0, a1, a2); \
}
void ThreeWay::Base::UncheckedSetKey(const byte *uk, unsigned int length, const NameValuePairs &params)
{
AssertValidKeyLength(length);
m_rounds = GetRoundsAndThrowIfInvalid(params, this);
for (unsigned int i=0; i<3; i++)
m_k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
if (!IsForwardTransformation())
{
theta(m_k[0], m_k[1], m_k[2]);
mu(m_k[0], m_k[1], m_k[2]);
m_k[0] = ByteReverse(m_k[0]);
m_k[1] = ByteReverse(m_k[1]);
m_k[2] = ByteReverse(m_k[2]);
}
}
void ThreeWay::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
typedef BlockGetAndPut<word32, BigEndian> Block;
word32 a0, a1, a2;
Block::Get(inBlock)(a0)(a1)(a2);
word32 rc = START_E;
for(unsigned i=0; i<m_rounds; i++)
{
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
rho(a0, a1, a2);
rc <<= 1;
if (rc&0x10000) rc ^= 0x11011;
}
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
theta(a0, a1, a2);
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
}
void ThreeWay::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
typedef BlockGetAndPut<word32, LittleEndian> Block;
word32 a0, a1, a2;
Block::Get(inBlock)(a0)(a1)(a2);
word32 rc = START_D;
mu(a0, a1, a2);
for(unsigned i=0; i<m_rounds; i++)
{
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
rho(a0, a1, a2);
rc <<= 1;
if (rc&0x10000) rc ^= 0x11011;
}
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
theta(a0, a1, a2);
mu(a0, a1, a2);
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
}
NAMESPACE_END
// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c
// The original code and all modifications are in the public domain.
#include "pch.h"
#include "3way.h"
#include "misc.h"
NAMESPACE_BEGIN(CryptoPP)
#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
void ThreeWay_TestInstantiations()
{
ThreeWay::Encryption x1;
ThreeWay::Decryption x2;
}
#endif
static const word32 START_E = 0x0b0b; // round constant of first encryption round
static const word32 START_D = 0xb1b1; // round constant of first decryption round
#ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
static const word32 RC_MODULUS = 0x11011;
#endif
static inline word32 reverseBits(word32 a)
{
a = ((a & 0xAAAAAAAA) >> 1) | ((a & 0x55555555) << 1);
a = ((a & 0xCCCCCCCC) >> 2) | ((a & 0x33333333) << 2);
return ((a & 0xF0F0F0F0) >> 4) | ((a & 0x0F0F0F0F) << 4);
}
#define mu(a0, a1, a2) \
{ \
a1 = reverseBits(a1); \
word32 t = reverseBits(a0); \
a0 = reverseBits(a2); \
a2 = t; \
}
#define pi_gamma_pi(a0, a1, a2) \
{ \
word32 b0, b2; \
b2 = rotlFixed(a2, 1U); \
b0 = rotlFixed(a0, 22U); \
a0 = rotlFixed(b0 ^ (a1|(~b2)), 1U); \
a2 = rotlFixed(b2 ^ (b0|(~a1)), 22U);\
a1 ^= (b2|(~b0)); \
}
// thanks to Paulo Barreto for this optimized theta()
#define theta(a0, a1, a2) \
{ \
word32 b0, b1, c; \
c = a0 ^ a1 ^ a2; \
c = rotlFixed(c, 16U) ^ rotlFixed(c, 8U); \
b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); \
b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); \
a0 ^= c ^ b0; \
a1 ^= c ^ b1; \
a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); \
}
#define rho(a0, a1, a2) \
{ \
theta(a0, a1, a2); \
pi_gamma_pi(a0, a1, a2); \
}
void ThreeWay::Base::UncheckedSetKey(const byte *uk, unsigned int length, const NameValuePairs &params)
{
AssertValidKeyLength(length);
m_rounds = GetRoundsAndThrowIfInvalid(params, this);
for (unsigned int i=0; i<3; i++)
m_k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
if (!IsForwardTransformation())
{
theta(m_k[0], m_k[1], m_k[2]);
mu(m_k[0], m_k[1], m_k[2]);
m_k[0] = ByteReverse(m_k[0]);
m_k[1] = ByteReverse(m_k[1]);
m_k[2] = ByteReverse(m_k[2]);
}
}
void ThreeWay::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
typedef BlockGetAndPut<word32, BigEndian> Block;
word32 a0, a1, a2;
Block::Get(inBlock)(a0)(a1)(a2);
word32 rc = START_E;
for(unsigned i=0; i<m_rounds; i++)
{
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
rho(a0, a1, a2);
rc <<= 1;
if (rc&0x10000) rc ^= 0x11011;
}
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
theta(a0, a1, a2);
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
}
void ThreeWay::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
typedef BlockGetAndPut<word32, LittleEndian> Block;
word32 a0, a1, a2;
Block::Get(inBlock)(a0)(a1)(a2);
word32 rc = START_D;
mu(a0, a1, a2);
for(unsigned i=0; i<m_rounds; i++)
{
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
rho(a0, a1, a2);
rc <<= 1;
if (rc&0x10000) rc ^= 0x11011;
}
a0 ^= m_k[0] ^ (rc<<16);
a1 ^= m_k[1];
a2 ^= m_k[2] ^ rc;
theta(a0, a1, a2);
mu(a0, a1, a2);
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
}
NAMESPACE_END

View File

@ -1,68 +1,69 @@
// 3way.h - written and placed in the public domain by Wei Dai
//! \file 3way.h
//! \brief Classes for the 3-Way block cipher
#ifndef CRYPTOPP_THREEWAY_H
#define CRYPTOPP_THREEWAY_H
#include "config.h"
#include "seckey.h"
#include "secblock.h"
NAMESPACE_BEGIN(CryptoPP)
//! \class ThreeWay_Info
//! \brief ThreeWay block cipher information
struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11>
{
CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "3-Way";}
};
//! \class ThreeWay
//! \brief ThreeWay block cipher
//! \sa <a href="http://www.weidai.com/scan-mirror/cs.html#3-Way">3-Way</a>
class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
{
//! \class Base
//! \brief Class specific implementation and overrides used to operate the cipher.
//! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<ThreeWay_Info>
{
public:
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs &params);
protected:
unsigned int m_rounds;
FixedSizeSecBlock<word32, 3> m_k;
};
//! \class Enc
//! \brief Class specific methods used to operate the cipher in the forward direction.
//! \details Implementations and overrides in \p Enc apply to \p ENCRYPTION.
class CRYPTOPP_NO_VTABLE Enc : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
//! \class Dec
//! \brief Class specific methods used to operate the cipher in the reverse direction.
//! \details Implementations and overrides in \p Dec apply to \p DECRYPTION.
class CRYPTOPP_NO_VTABLE Dec : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
public:
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
typedef ThreeWay::Encryption ThreeWayEncryption;
typedef ThreeWay::Decryption ThreeWayDecryption;
NAMESPACE_END
#endif
// 3way.h - written and placed in the public domain by Wei Dai
//! \file 3way.h
//! \brief Classes for the 3-Way block cipher
#ifndef CRYPTOPP_THREEWAY_H
#define CRYPTOPP_THREEWAY_H
#include "config.h"
#include "seckey.h"
#include "secblock.h"
NAMESPACE_BEGIN(CryptoPP)
//! \class ThreeWay_Info
//! \brief The cipher's key, iv, block size and name information.
struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11>
{
static const char *StaticAlgorithmName() {return "3-Way";}
};
// <a href="http://www.weidai.com/scan-mirror/cs.html#3-Way">3-Way</a>
//! \class ThreeWay
//! \brief Provides 3-Way encryption and decryption
class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
{
//! \class Base
//! \brief Class specific implementation and overrides used to operate the cipher.
//! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<ThreeWay_Info>
{
public:
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs &params);
protected:
unsigned int m_rounds;
FixedSizeSecBlock<word32, 3> m_k;
};
//! \class Enc
//! \brief Class specific methods used to operate the cipher in the forward direction.
//! \details Implementations and overrides in \p Enc apply to \p ENCRYPTION.
class CRYPTOPP_NO_VTABLE Enc : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
//! \class Dec
//! \brief Class specific methods used to operate the cipher in the reverse direction.
//! \details Implementations and overrides in \p Dec apply to \p DECRYPTION.
class CRYPTOPP_NO_VTABLE Dec : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
public:
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
typedef ThreeWay::Encryption ThreeWayEncryption;
typedef ThreeWay::Decryption ThreeWayDecryption;
NAMESPACE_END
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,420 +1,393 @@
3way.cpp
3way.h
adhoc.cpp.proto
adler32.cpp
adler32.h
aes.h
algebra.cpp
algebra.h
algparam.cpp
algparam.h
arc4.cpp
arc4.h
argnames.h
asn.cpp
asn.h
authenc.cpp
authenc.h
base32.cpp
base32.h
base64.cpp
base64.h
basecode.cpp
basecode.h
bench.h
bds10.zip
bench1.cpp
bench2.cpp
bfinit.cpp
blake2.cpp
blake2.h
blowfish.cpp
blowfish.h
blumshub.cpp
blumshub.h
camellia.cpp
camellia.h
cast.cpp
cast.h
casts.cpp
cbcmac.cpp
cbcmac.h
ccm.cpp
ccm.h
chacha.cpp
chacha.h
channels.cpp
channels.h
cmac.cpp
cmac.h
config.h
config.compat
cpu.cpp
cpu.h
crc.cpp
crc.h
cryptdll.vcxproj
cryptdll.vcxproj.filters
cryptest.sh
cryptest.sln
cryptest.vcxproj
cryptest.vcxproj.user
cryptest.vcxproj.filters
cryptest.nmake
cryptlib.cpp
cryptlib.h
cryptlib.vcxproj
cryptlib.vcxproj.filters
cryptopp.rc
datatest.cpp
default.cpp
default.h
des.cpp
des.h
dessp.cpp
dh.cpp
dh.h
dh2.cpp
dh2.h
dll.cpp
dll.h
dlltest.cpp
dlltest.vcxproj
dlltest.vcxproj.filters
dmac.h
dsa.cpp
dsa.h
eax.cpp
eax.h
ec2n.cpp
ec2n.h
eccrypto.cpp
eccrypto.h
ecp.cpp
ecp.h
elgamal.cpp
elgamal.h
emsa2.cpp
emsa2.h
eprecomp.cpp
eprecomp.h
esign.cpp
esign.h
factory.h
fhmqv.cpp
fhmqv.h
files.cpp
files.h
filters.cpp
filters.h
fips140.cpp
fips140.h
fipsalgt.cpp
fipstest.cpp
fltrimpl.h
gcm.cpp
gcm.h
gf256.cpp
gf256.h
gf2_32.cpp
gf2_32.h
gf2n.cpp
gf2n.h
gfpcrypt.cpp
gfpcrypt.h
gost.cpp
gost.h
gzip.cpp
gzip.h
hex.cpp
hex.h
hkdf.h
hmac.cpp
hmac.h
hmqv.cpp
hmqv.h
hrtimer.cpp
hrtimer.h
ida.cpp
ida.h
idea.cpp
idea.h
integer.cpp
integer.h
iterhash.cpp
iterhash.h
keccak.cpp
keccak.h
lubyrack.h
luc.cpp
luc.h
mars.cpp
mars.h
marss.cpp
md2.cpp
md2.h
md4.cpp
md4.h
md5.cpp
md5.h
mdc.h
mersenne.h
misc.cpp
misc.h
modarith.h
modes.cpp
modes.h
modexppc.h
mqueue.cpp
mqueue.h
mqv.cpp
mqv.h
nbtheory.cpp
nbtheory.h
network.cpp
network.h
nr.h
oaep.cpp
oaep.h
oids.h
osrng.cpp
osrng.h
ossig.h
panama.cpp
panama.h
pch.cpp
pch.h
pkcspad.cpp
pkcspad.h
polynomi.cpp
polynomi.h
pssr.cpp
pssr.h
pubkey.cpp
pubkey.h
pwdbased.h
queue.cpp
queue.h
rabin.cpp
rabin.h
randpool.cpp
randpool.h
rc2.cpp
rc2.h
rc5.cpp
rc5.h
rc6.cpp
rc6.h
rdrand-masm.cmd
rdrand-nasm.sh
rdrand.S
rdrand.asm
rdrand.cpp
rdrand.h
rdtables.cpp
regtest.cpp
resource.h
rijndael.cpp
rijndael.h
ripemd.cpp
ripemd.h
rng.cpp
rng.h
rsa.cpp
rsa.h
rw.cpp
rw.h
safer.cpp
safer.h
salsa.cpp
salsa.h
seal.cpp
seal.h
secblock.h
seckey.h
seed.cpp
seed.h
serpent.cpp
serpent.h
serpentp.h
sha.cpp
sha.h
sha3.cpp
sha3.h
shacal2.cpp
shacal2.h
shark.cpp
shark.h
sharkbox.cpp
simple.cpp
simple.h
skipjack.cpp
skipjack.h
smartptr.h
socketft.cpp
socketft.h
sosemanuk.cpp
sosemanuk.h
square.cpp
square.h
squaretb.cpp
stdcpp.h
strciphr.cpp
strciphr.h
tea.cpp
tea.h
test.cpp
trap.h
tftables.cpp
tiger.cpp
tiger.h
tigertab.cpp
trdlocal.cpp
trdlocal.h
trunhash.h
ttmac.cpp
ttmac.h
twofish.cpp
twofish.h
validat1.cpp
validat2.cpp
validat3.cpp
validate.h
vmac.cpp
vmac.h
vc60.zip
vs2005.zip
wait.cpp
wait.h
wake.cpp
wake.h
whrlpool.cpp
whrlpool.h
winpipes.cpp
winpipes.h
words.h
x64dll.asm
x64masm.asm
xtr.cpp
xtr.h
xtrcrypt.cpp
xtrcrypt.h
zdeflate.cpp
zdeflate.h
zinflate.cpp
zinflate.h
zlib.cpp
zlib.h
Doxyfile
GNUmakefile
GNUmakefile-cross
License.txt
Readme.txt
Install.txt
Filelist.txt
TestData/3desval.dat
TestData/3wayval.dat
TestData/camellia.dat
TestData/cast128v.dat
TestData/cast256v.dat
TestData/descert.dat
TestData/dh1024.dat
TestData/dh2048.dat
TestData/dlie1024.dat
TestData/dlie2048.dat
TestData/dsa1024.dat
TestData/dsa1024b.dat
TestData/dsa512.dat
TestData/elgc1024.dat
TestData/esig1023.dat
TestData/esig1536.dat
TestData/esig2046.dat
TestData/fhmqv160.dat
TestData/fhmqv256.dat
TestData/fhmqv384.dat
TestData/fhmqv512.dat
TestData/gostval.dat
TestData/hmqv160.dat
TestData/hmqv256.dat
TestData/hmqv384.dat
TestData/hmqv512.dat
TestData/ideaval.dat
TestData/luc1024.dat
TestData/luc2048.dat
TestData/lucc1024.dat
TestData/lucc512.dat
TestData/lucd1024.dat
TestData/lucd512.dat
TestData/lucs1024.dat
TestData/lucs512.dat
TestData/marsval.dat
TestData/mqv1024.dat
TestData/mqv2048.dat
TestData/nr1024.dat
TestData/nr2048.dat
TestData/rabi1024.dat
TestData/rabi2048.dat
TestData/rc2val.dat
TestData/rc5val.dat
TestData/rc6val.dat
TestData/rijndael.dat
TestData/rsa1024.dat
TestData/rsa2048.dat
TestData/rsa400pb.dat
TestData/rsa400pv.dat
TestData/rsa512a.dat
TestData/rw1024.dat
TestData/rw2048.dat
TestData/saferval.dat
TestData/serpentv.dat
TestData/shacal2v.dat
TestData/sharkval.dat
TestData/skipjack.dat
TestData/squareva.dat
TestData/twofishv.dat
TestData/usage.dat
TestData/xtrdh171.dat
TestData/xtrdh342.dat
TestVectors/Readme.txt
TestVectors/aes.txt
TestVectors/all.txt
TestVectors/blake2.txt
TestVectors/blake2b.txt
TestVectors/blake2s.txt
TestVectors/camellia.txt
TestVectors/ccm.txt
TestVectors/chacha.txt
TestVectors/cmac.txt
TestVectors/dlies.txt
TestVectors/dsa.txt
TestVectors/dsa_1363.txt
TestVectors/eax.txt
TestVectors/esign.txt
TestVectors/gcm.txt
TestVectors/hkdf.txt
TestVectors/hmac.txt
TestVectors/keccak.txt
TestVectors/mars.txt
TestVectors/nr.txt
TestVectors/panama.txt
TestVectors/rsa_oaep.txt
TestVectors/rsa_pkcs1_1_5.txt
TestVectors/rsa_pss.txt
TestVectors/dsa_rfc6979.txt
TestVectors/rw.txt
TestVectors/salsa.txt
TestVectors/seal.txt
TestVectors/seed.txt
TestVectors/sha.txt
TestVectors/sha3_fips_202.txt
TestVectors/sha3_224_fips_202.txt
TestVectors/sha3_256_fips_202.txt
TestVectors/sha3_384_fips_202.txt
TestVectors/sha3_512_fips_202.txt
TestVectors/shacal2.txt
TestVectors/sosemanuk.txt
TestVectors/tea.txt
TestVectors/ttmac.txt
TestVectors/vmac.txt
TestVectors/wake.txt
TestVectors/whrlpool.txt
3way.cpp
3way.h
adhoc.cpp.proto
adler32.cpp
adler32.h
aes.h
algebra.cpp
algebra.h
algparam.cpp
algparam.h
arc4.cpp
arc4.h
argnames.h
asn.cpp
asn.h
authenc.cpp
authenc.h
base32.cpp
base32.h
base64.cpp
base64.h
basecode.cpp
basecode.h
bench.cpp
bench.h
bench2.cpp
bfinit.cpp
blowfish.cpp
blowfish.h
blumshub.cpp
blumshub.h
camellia.cpp
camellia.h
cast.cpp
cast.h
casts.cpp
cbcmac.cpp
cbcmac.h
ccm.cpp
ccm.h
channels.cpp
channels.h
cmac.cpp
cmac.h
config.h
config.recommend
cpu.cpp
cpu.h
crc.cpp
crc.h
cryptdll.dsp
cryptdll.vcproj
cryptest.dsp
cryptest.dsw
cryptest.sh
cryptest.sln
cryptest.vcproj
cryptest_bds.bdsgroup
cryptest_bds.bdsproj
cryptest_bds.bpf
cryptlib.cpp
cryptlib.dsp
cryptlib.h
cryptlib.vcproj
cryptlib_bds.bdsproj
cryptlib_bds.cpp
cryptopp.rc
cryptopp563.diff
datatest.cpp
default.cpp
default.h
des.cpp
des.h
dessp.cpp
dh.cpp
dh.h
dh2.cpp
dh2.h
dll.cpp
dll.h
dlltest.cpp
dlltest.dsp
dlltest.vcproj
dmac.h
dsa.cpp
dsa.h
eax.cpp
eax.h
ec2n.cpp
ec2n.h
eccrypto.cpp
eccrypto.h
ecp.cpp
ecp.h
elgamal.cpp
elgamal.h
emsa2.cpp
emsa2.h
eprecomp.cpp
eprecomp.h
esign.cpp
esign.h
factory.h
files.cpp
files.h
filters.cpp
filters.h
fips140.cpp
fips140.h
fipsalgt.cpp
fipstest.cpp
fltrimpl.h
gcm.cpp
gcm.h
gf256.cpp
gf256.h
gf2_32.cpp
gf2_32.h
gf2n.cpp
gf2n.h
gfpcrypt.cpp
gfpcrypt.h
gost.cpp
gost.h
gzip.cpp
gzip.h
hex.cpp
hex.h
hkdf.h
hmac.cpp
hmac.h
hrtimer.cpp
hrtimer.h
ida.cpp
ida.h
idea.cpp
idea.h
integer.cpp
integer.h
iterhash.cpp
iterhash.h
lubyrack.h
luc.cpp
luc.h
mars.cpp
mars.h
marss.cpp
md2.cpp
md2.h
md4.cpp
md4.h
md5.cpp
md5.h
mdc.h
mersenne.h
misc.cpp
misc.h
modarith.h
modes.cpp
modes.h
modexppc.h
mqueue.cpp
mqueue.h
mqv.cpp
mqv.h
nbtheory.cpp
nbtheory.h
network.cpp
network.h
nr.h
oaep.cpp
oaep.h
oids.h
osrng.cpp
osrng.h
panama.cpp
panama.h
pch.cpp
pch.h
pkcspad.cpp
pkcspad.h
polynomi.cpp
polynomi.h
pssr.cpp
pssr.h
pubkey.cpp
pubkey.h
pwdbased.h
queue.cpp
queue.h
rabin.cpp
rabin.h
randpool.cpp
randpool.h
rc2.cpp
rc2.h
rc5.cpp
rc5.h
rc6.cpp
rc6.h
rdrand-masm.cmd
rdrand-nasm.sh
rdrand.S
rdrand.asm
rdrand.cpp
rdrand.h
rdtables.cpp
regtest.cpp
resource.h
rijndael.cpp
rijndael.h
ripemd.cpp
ripemd.h
rng.cpp
rng.h
rsa.cpp
rsa.h
rw.cpp
rw.h
safer.cpp
safer.h
salsa.cpp
salsa.h
seal.cpp
seal.h
secblock.h
seckey.h
seed.cpp
seed.h
serpent.cpp
serpent.h
serpentp.h
sha.cpp
sha.h
sha3.cpp
sha3.h
shacal2.cpp
shacal2.h
shark.cpp
shark.h
sharkbox.cpp
simple.cpp
simple.h
skipjack.cpp
skipjack.h
smartptr.h
socketft.cpp
socketft.h
sosemanuk.cpp
sosemanuk.h
square.cpp
square.h
squaretb.cpp
stdcpp.h
strciphr.cpp
strciphr.h
tea.cpp
tea.h
test.cpp
tftables.cpp
tiger.cpp
tiger.h
tigertab.cpp
trdlocal.cpp
trdlocal.h
trunhash.h
ttmac.cpp
ttmac.h
twofish.cpp
twofish.h
validat1.cpp
validat2.cpp
validat3.cpp
validate.h
vmac.cpp
vmac.h
vs2010.zip
wait.cpp
wait.h
wake.cpp
wake.h
whrlpool.cpp
whrlpool.h
winpipes.cpp
winpipes.h
words.h
x64dll.asm
x64masm.asm
xtr.cpp
xtr.h
xtrcrypt.cpp
xtrcrypt.h
zdeflate.cpp
zdeflate.h
zinflate.cpp
zinflate.h
zlib.cpp
zlib.h
Doxyfile
GNUmakefile
GNUmakefile-cross
License.txt
Readme.txt
Install.txt
Filelist.txt
TestData/3desval.dat
TestData/3wayval.dat
TestData/camellia.dat
TestData/cast128v.dat
TestData/cast256v.dat
TestData/descert.dat
TestData/dh1024.dat
TestData/dh2048.dat
TestData/dlie1024.dat
TestData/dlie2048.dat
TestData/dsa1024.dat
TestData/dsa1024b.dat
TestData/dsa512.dat
TestData/elgc1024.dat
TestData/esig1023.dat
TestData/esig1536.dat
TestData/esig2046.dat
TestData/gostval.dat
TestData/ideaval.dat
TestData/luc1024.dat
TestData/luc2048.dat
TestData/lucc1024.dat
TestData/lucc512.dat
TestData/lucd1024.dat
TestData/lucd512.dat
TestData/lucs1024.dat
TestData/lucs512.dat
TestData/marsval.dat
TestData/mqv1024.dat
TestData/mqv2048.dat
TestData/nr1024.dat
TestData/nr2048.dat
TestData/rabi1024.dat
TestData/rabi2048.dat
TestData/rc2val.dat
TestData/rc5val.dat
TestData/rc6val.dat
TestData/rijndael.dat
TestData/rsa1024.dat
TestData/rsa2048.dat
TestData/rsa400pb.dat
TestData/rsa400pv.dat
TestData/rsa512a.dat
TestData/rw1024.dat
TestData/rw2048.dat
TestData/saferval.dat
TestData/serpentv.dat
TestData/shacal2v.dat
TestData/sharkval.dat
TestData/skipjack.dat
TestData/squareva.dat
TestData/twofishv.dat
TestData/usage.dat
TestData/xtrdh171.dat
TestData/xtrdh342.dat
TestVectors/Readme.txt
TestVectors/aes.txt
TestVectors/all.txt
TestVectors/camellia.txt
TestVectors/ccm.txt
TestVectors/cmac.txt
TestVectors/dlies.txt
TestVectors/dsa.txt
TestVectors/dsa_1363.txt
TestVectors/eax.txt
TestVectors/esign.txt
TestVectors/gcm.txt
TestVectors/hkdf.txt
TestVectors/hmac.txt
TestVectors/mars.txt
TestVectors/nr.txt
TestVectors/panama.txt
TestVectors/rsa_oaep.txt
TestVectors/rsa_pkcs1_1_5.txt
TestVectors/rsa_pss.txt
TestVectors/rw.txt
TestVectors/salsa.txt
TestVectors/seal.txt
TestVectors/seed.txt
TestVectors/sha.txt
TestVectors/sha3.txt
TestVectors/shacal2.txt
TestVectors/sosemanuk.txt
TestVectors/tea.txt
TestVectors/ttmac.txt
TestVectors/vmac.txt
TestVectors/wake.txt
TestVectors/whrlpool.txt

659
Common/3dParty/cryptopp/GNUmakefile Executable file → Normal file
View File

@ -1,162 +1,104 @@
###########################################################
##### System Attributes and Programs #####
###########################################################
# Base CXXFLAGS used if the user did not specify them
CXXFLAGS ?= -DNDEBUG -g2 -O2
# -fPIC is supported, please report failures with steps to reproduce
# If PIC is required but results in a crash, then use -DCRYPTOPP_DISABLE_ASM
# CXXFLAGS += -fPIC
# Add the following options reduce code size, but breaks link
# or makes link very slow on some systems
# CXXFLAGS += -ffunction-sections -fdata-sections
# On OS X, you need to use "LDFLAGS += -Wl,-dead_strip"
# LDFLAGS += -Wl,--gc-sections
AR ?= ar
ARFLAGS ?= -cr # ar needs the dash on OpenBSD
ARFLAGS ?= -cr # ar needs the dash on OpenBSD
RANLIB ?= ranlib
CP ?= cp
MV ?= mv
EGREP ?= egrep
CHMOD ?= chmod
MKDIR ?= mkdir
LN ?= ln -sf
LDCONF ?= /sbin/ldconfig -n
UNAME := $(shell uname)
EGREP ?= egrep
IS_X86 := $(shell uname -m | $(EGREP) -v "x86_64" | $(EGREP) -i -c "i.86|x86|i86")
IS_X32 ?= 0
IS_X64 := $(shell uname -m | $(EGREP) -i -c "(_64|d64)")
IS_PPC := $(shell uname -m | $(EGREP) -i -c "ppc|power")
IS_ARM32 := $(shell uname -m | $(EGREP) -i -c "arm")
IS_ARM64 := $(shell uname -m | $(EGREP) -i -c "aarch64")
UNAME := $(shell uname)
IS_X86 := $(shell uname -m | $(EGREP) -i -c "i.86|x86|i86|amd64")
IS_X86_64 := $(shell uname -m | $(EGREP) -i -c "(_64|d64)")
IS_AARCH64 := $(shell uname -m | $(EGREP) -i -c "aarch64")
IS_SUN := $(shell uname | $(EGREP) -i -c "SunOS")
IS_LINUX := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Linux")
IS_MINGW := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "MinGW")
IS_CYGWIN := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Cygwin")
IS_DARWIN := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Darwin")
IS_NETBSD := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "NetBSD")
SUN_COMPILER := $(shell $(CXX) -V 2>&1 | $(EGREP) -i -c "CC: (Sun|Studio)")
GCC_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -v "clang" | $(EGREP) -i -c "(gcc|g\+\+)")
SUN_COMPILER := $(shell $(CXX) -V 2>&1 | $(EGREP) -i -c "CC: Sun")
GCC_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "(gcc|g\+\+)")
CLANG_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
INTEL_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "\(icc\)")
INTEL_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\)")
MACPORTS_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "macports")
# Sun Studio 12.0 provides SunCC 0x0510; and Sun Studio 12.3 provides SunCC 0x0512
SUNCC_510_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[0-9]|5\.[2-9]|6\.)")
SUNCC_511_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[1-9]|5\.[2-9]|6\.)")
SUNCC_512_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[2-9]|5\.[2-9]|6\.)")
SUNCC_513_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[3-9]|5\.[2-9]|6\.)")
HAS_SOLIB_VERSION := $(IS_LINUX)
# Fixup SunOS
ifeq ($(IS_SUN),1)
IS_X86 := $(shell isainfo -k 2>/dev/null | grep -i -c "i386")
IS_X64 := $(shell isainfo -k 2>/dev/null | grep -i -c "amd64")
endif
###########################################################
##### General Variables #####
###########################################################
# Base CXXFLAGS used if the user did not specify them
ifeq ($(SUN_COMPILER),1)
ifeq ($(SUNCC_512_OR_LATER),1)
CXXFLAGS ?= -DNDEBUG -g3 -xO2
else
CXXFLAGS ?= -DNDEBUG -g -xO2
endif
else
CXXFLAGS ?= -DNDEBUG -g2 -O2
endif
# Default prefix for make install
ifeq ($(PREFIX),)
PREFIX = /usr/local
PREFIX = /usr
endif
# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
ifeq ($(DATADIR),)
DATADIR := $(PREFIX)/share
endif
ifeq ($(LIBDIR),)
LIBDIR := $(PREFIX)/lib
endif
ifeq ($(BINDIR),)
BINDIR := $(PREFIX)/bin
endif
ifeq ($(INCLUDEDIR),)
INCLUDEDIR := $(PREFIX)/include
endif
# Fix CXX on Cygwin 1.1.4
ifeq ($(CXX),gcc)
ifeq ($(CXX),gcc) # for some reason CXX is gcc on cygwin 1.1.4
CXX := g++
endif
# We honor ARFLAGS, but the "v" option used by default causes a noisy make
# We honor ARFLAGS, but the "v" often option used by default causes a noisy make
ifeq ($(ARFLAGS),rv)
ARFLAGS = r
endif
###########################################################
##### X86/X32/X64 Options #####
###########################################################
ifeq ($(IS_X86),1)
ifneq ($(IS_X86)$(IS_X32)$(IS_X64),000)
# Fixup. Clang integrated assembler will be used (-Wa,-q)
ifneq ($(MACPORTS_COMPILER),1)
IS_GAS := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler")
endif
ifneq ($(GCC_COMPILER),0)
IS_GCC_29 := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c gcc-9[0-9][0-9])
GCC42_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[2-9]|[5-9]\.)")
GCC46_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[6-9]|[5-9]\.)")
endif
ifneq ($(IS_GAS),0)
GAS210_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
GAS217_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
GAS219_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
endif
IS_GCC_29 := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c gcc-9[0-9][0-9])
GCC42_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[2-9]|[5-9]\.)")
GCC46_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[6-9]|[5-9]\.)")
GCC48_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[8-9]|[5-9]\.)")
GCC49_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.9|[5-9]\.)")
ICC111_OR_LATER := $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-9]|1[2-9]|11\.[1-9])")
GAS210_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
GAS217_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
GAS219_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
# Add -fPIC for targets *except* X86, X32, Cygwin or MinGW
ifeq ($(IS_X86)$(IS_X32)$(IS_CYGWIN)$(IS_MINGW)$(SUN_COMPILER),00000)
# Add -fPIC for x86_64, but not X32, Cygwin or MinGW
ifneq ($(IS_X86_64),0)
IS_X32 := $(shell $(CXX) -dM -E - < /dev/null 2>&1 | $(EGREP) -c "ILP32")
ifeq ($(IS_X32)$(IS_CYGWIN)$(IS_MINGW),000)
ifeq ($(findstring -fPIC,$(CXXFLAGS)),)
CXXFLAGS += -fPIC
endif
endif
endif
# Guard use of -march=native
ifeq ($(GCC42_OR_LATER)$(IS_NETBSD),10)
ifeq ($(GCC_COMPILER),0)
CXXFLAGS += -march=native
else ifneq ($(CLANG_COMPILER)$(INTEL_COMPILER),00)
else ifneq ($(GCC42_OR_LATER),0)
CXXFLAGS += -march=native
else
# GCC 3.3 and "unknown option -march="
# Ubuntu GCC 4.1 compiler crash with -march=native
# NetBSD GCC 4.8 compiler and "bad value (native) for -march= switch"
# Sun compiler is handled below
ifeq ($(SUN_COMPILER)$(IS_X64),01)
# GCC 4.1 compiler crash with -march=native.
ifneq ($(IS_X86_64),0)
CXXFLAGS += -m64
else ifeq ($(SUN_COMPILER)$(IS_X86),01)
else
CXXFLAGS += -m32
endif # X86/X32/X64
endif
# Aligned access required for -O3 and above due to vectorization
# Aligned access required at -O3 for GCC due to vectorization (circa 08/2008). Expect other compilers to do the same.
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
ifneq ($(UNALIGNED_ACCESS),0)
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
ifeq ($(findstring -O3,$(CXXFLAGS)),-O3)
ifneq ($(UNALIGNED_ACCESS),0)
ifeq ($(GCC46_OR_LATER),1)
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -O3
ifeq ($(findstring -O5,$(CXXFLAGS)),-O5)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -O5
ifeq ($(findstring -Ofast,$(CXXFLAGS)),-Ofast)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -Ofast
endif # CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # GCC 4.6
endif # UNALIGNED_ACCESS
endif # Vectorization
ifneq ($(INTEL_COMPILER),0)
CXXFLAGS += -wd68 -wd186 -wd279 -wd327 -wd161 -wd3180
@ -167,100 +109,34 @@ CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
endif
# .intel_syntax wasn't supported until GNU assembler 2.10
ifeq ($(GCC_COMPILER)$(MACPORTS_COMPILER)$(GAS210_OR_LATER),100)
ifeq ($(GCC_COMPILER)$(GAS210_OR_LATER),10) # .intel_syntax wasn't supported until GNU assembler 2.10
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
else
ifeq ($(GCC_COMPILER)$(MACPORTS_COMPILER)$(GAS217_OR_LATER),100)
ifeq ($(GCC_COMPILER)$(GAS217_OR_LATER),10)
CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
else
ifeq ($(GCC_COMPILER)$(MACPORTS_COMPILER)$(GAS219_OR_LATER),100)
ifeq ($(GCC_COMPILER)$(GAS219_OR_LATER),10)
CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
endif
endif
endif
# Tell MacPorts GCC to use Clang integrated assembler
# http://github.com/weidai11/cryptopp/issues/190
ifeq ($(GCC_COMPILER)$(MACPORTS_COMPILER),11)
ifneq ($(findstring -Wa,-q,$(CXXFLAGS)),-Wa,-q)
CXXFLAGS += -Wa,-q
endif
ifneq ($(findstring -Wa,-q,$(CXXFLAGS)),-DCRYPTOPP_CLANG_INTEGRATED_ASSEMBLER)
CXXFLAGS += -DCRYPTOPP_CLANG_INTEGRATED_ASSEMBLER=1
ifneq ($(IS_SUN),0)
CXXFLAGS += -Wa,--divide # allow use of "/" operator
endif
endif
# GCC on Solaris needs -m64. Otherwise, i386 is default
# http://github.com/weidai11/cryptopp/issues/230
ifeq ($(IS_SUN)$(GCC_COMPILER)$(IS_X64),111)
CXXFLAGS += -m64
endif
# Allow use of "/" operator for GNU Assembler.
# http://sourceware.org/bugzilla/show_bug.cgi?id=4572
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
ifeq ($(IS_SUN)$(GCC_COMPILER),11)
CXXFLAGS += -Wa,--divide
endif
endif
endif # IS_X86
ifeq ($(UNAME),) # for DJGPP, where uname doesn't exist
CXXFLAGS += -mbnu210
else ifneq ($(findstring -save-temps,$(CXXFLAGS)),-save-temps)
ifeq ($(SUN_COMPILER),0)
CXXFLAGS += -pipe
endif
endif
else
###########################################################
##### Not X86/X32/X64 #####
###########################################################
# Add PIC
ifeq ($(findstring -fPIC,$(CXXFLAGS)),)
CXXFLAGS += -fPIC
endif
# Add -pipe for everything except ARM (allow ARM-64 because they seems to have > 1 GB of memory)
ifeq ($(IS_ARM32),0)
ifeq ($(findstring -save-temps,$(CXXFLAGS)),)
CXXFLAGS += -pipe
endif
endif
# Aligned access required for -O3 and above due to vectorization
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
ifneq ($(UNALIGNED_ACCESS),0)
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
ifeq ($(findstring -O3,$(CXXFLAGS)),-O3)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -O3
ifeq ($(findstring -O5,$(CXXFLAGS)),-O5)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -O5
ifeq ($(findstring -Ofast,$(CXXFLAGS)),-Ofast)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # -Ofast
endif # CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # UNALIGNED_ACCESS
endif # IS_X86
###########################################################
##### Common #####
###########################################################
ifneq ($(IS_MINGW),0)
LDLIBS += -lws2_32
endif
ifneq ($(IS_SUN),0)
LDLIBS += -lnsl -lsocket
endif
ifeq ($(IS_LINUX),1)
LDFLAGS += -pthread
ifeq ($(findstring -fopenmp,$(CXXFLAGS)),-fopenmp)
@ -268,8 +144,18 @@ ifeq ($(findstring -lgomp,$(LDLIBS)),)
LDLIBS += -lgomp
endif # LDLIBS
endif # OpenMP
ifneq ($(IS_X86_64),0)
M32OR64 = -m64
endif
endif # IS_LINUX
# And add it for ARM64, too
ifneq ($(IS_AARCH64),0)
ifeq ($(findstring -fPIC,$(CXXFLAGS)),)
CXXFLAGS += -fPIC
endif
endif
ifneq ($(IS_DARWIN),0)
AR = libtool
ARFLAGS = -static -o
@ -281,35 +167,23 @@ LDFLAGS += -flat_namespace -undefined suppress -m
endif
endif
# Add -errtags=yes to get the name for a warning suppression
ifneq ($(IS_SUN),0)
LDLIBS += -lnsl -lsocket
M32OR64 = -m$(shell isainfo -b)
endif
ifneq ($(SUN_COMPILER),0) # override flags for CC Sun C++ compiler
IS_64 := $(shell isainfo -b 2>/dev/null | grep -i -c "64")
ifeq ($(IS_64),1)
CXXFLAGS += -m64
else ifeq ($(IS_64),0)
CXXFLAGS += -m32
endif
ifneq ($(SUNCC_513_OR_LATER),0)
CXXFLAGS += -native
endif
# Add for non-i386
ifneq ($(IS_X86),1)
CXXFLAGS += -KPIC
endif
# Add to all Solaris
CXXFLAGS += -template=no%extdef
CXXFLAGS ?= -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64)
LDFLAGS =
AR = $(CXX)
ARFLAGS = -xar -o
RANLIB = true
SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])")
ifneq ($(SUN_CC10_BUGGY),0)
# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010
# remove it if you get "already had a body defined" errors in vector.cc
CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
endif
#ifneq ($SUNCC_512_OR_LATER),0)
#CXXFLAGS += -xarch=aes -D__AES__=1 -xarch=no%sse4_1 -xarch=no%sse4_2
#endif
AR = $(CXX)
ARFLAGS = -xar -o
RANLIB = true
endif
# Undefined Behavior Sanitizer (UBsan) testing. There's no sense in
@ -323,72 +197,71 @@ CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # CXXFLAGS
endif # UBsan
# Address Sanitizer (Asan) testing. Issue 'make asan'.
# Address Sanitizer (Asan) testing
ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
CXXFLAGS += -fsanitize=address
endif # CXXFLAGS
ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
CXXFLAGS += -fno-omit-frame-pointer
endif # CXXFLAGS
endif # Asan
# LD gold linker testing. Triggered by 'LD=ld.gold'.
# LD gold linker testing
ifeq ($(findstring ld.gold,$(LD)),ld.gold)
ifeq ($(findstring -fuse-ld=gold,$(CXXFLAGS)),)
ifeq ($(findstring -Wl,-fuse-ld=gold,$(CXXFLAGS)),)
ELF_FORMAT := $(shell file `which ld.gold` 2>&1 | cut -d":" -f 2 | $(EGREP) -i -c "elf")
ifneq ($(ELF_FORMAT),0)
LDFLAGS += -fuse-ld=gold
GOLD_OPTION = -Wl,-fuse-ld=gold
endif # ELF/ELF64
endif # CXXFLAGS
endif # Gold
# Aligned access testing. Issue 'make aligned'.
# Aligned access testing
ifneq ($(filter align aligned,$(MAKECMDGOALS)),)
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
endif # CXXFLAGS
endif # # CXXFLAGS
endif # Aligned access
# GCC code coverage. Issue 'make coverage'.
ifneq ($(filter coverage,$(MAKECMDGOALS)),)
ifeq ($(findstring -coverage,$(CXXFLAGS)),)
CXXFLAGS += -coverage
endif # -coverage
endif # GCC code coverage
# Debug testing on GNU systems. Triggered by -DDEBUG.
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
# Debug testing on GNU systems
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
USING_GLIBCXX := $(shell $(CXX) -x c++ $(CXXFLAGS) -E adhoc.cpp.proto 2>&1 | $(EGREP) -i -c "__GLIBCXX__")
ifneq ($(USING_GLIBCXX),0)
HAS_NEWLIB := $(shell $(CXX) -x c++ $(CXXFLAGS) -E adhoc.cpp.proto 2>&1 | $(EGREP) -i -c "__NEWLIB__")
ifeq ($(HAS_NEWLIB),0)
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
CXXFLAGS += -D_GLIBCXX_DEBUG
endif # CXXFLAGS
endif # NAS_NEWLIB
ifeq ($(findstring -D_GLIBCXX_CONCEPT_CHECKS,$(CXXFLAGS)),)
CXXFLAGS += -D_GLIBCXX_CONCEPT_CHECKS
endif # CXXFLAGS
endif # USING_GLIBCXX
endif # GNU Debug build
# Dead code stripping. Issue 'make lean'.
ifeq ($(findstring lean,$(MAKECMDGOALS)),lean)
ifeq ($(findstring -ffunction-sections,$(CXXFLAGS)),)
CXXFLAGS += -ffunction-sections
endif # CXXFLAGS
ifeq ($(findstring -fdata-sections,$(CXXFLAGS)),)
CXXFLAGS += -fdata-sections
endif # CXXFLAGS
ifneq ($(IS_DARWIN),0)
ifeq ($(findstring -Wl,-dead_strip,$(LDFLAGS)),)
LDFLAGS += -Wl,-dead_strip
endif # CXXFLAGS
else # BSD, Linux and Unix
ifeq ($(findstring -Wl,--gc-sections,$(LDFLAGS)),)
LDFLAGS += -Wl,--gc-sections
endif # LDFLAGS
endif # MAKECMDGOALS
endif # Dead code stripping
# List cryptlib.cpp first and cpu.o second in an attempt to tame C++ static initialization problems. The issue
# spills into POD data types, so cpu.cpp is the second candidate for explicit initialization order.
SRCS := cryptlib.cpp cpu.cpp $(filter-out cryptlib.cpp cpu.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp))
# No need for CPU or RDRAND on non-X86 systems. X32 is represented with X64.
ifeq ($(IS_X86)$(IS_X86_64),00)
SRCS := $(filter-out cpu.cpp rdrand.cpp, $(SRCS))
endif
ifneq ($(IS_MINGW),0)
SRCS += winpipes.cpp
endif
# List of objects with crytlib.o and cpu.o at the first and second index position
OBJS := $(SRCS:.cpp=.o)
# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
TESTOBJS := bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
LIBOBJS := $(filter-out $(TESTOBJS),$(OBJS))
# List cryptlib.cpp first in an attempt to tame C++ static initialization problems
DLLSRCS := cryptlib.cpp algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
DLLOBJS := $(DLLSRCS:.cpp=.export.o)
# Import lib testing
LIBIMPORTOBJS := $(LIBOBJS:.o=.import.o)
TESTIMPORTOBJS := $(TESTOBJS:.o=.import.o)
DLLTESTOBJS := dlltest.dllonly.o
# For Shared Objects, Diff, Dist/Zip rules
LIB_VER := $(shell $(EGREP) "define CRYPTOPP_VERSION" config.h | cut -d" " -f 3)
@ -400,56 +273,6 @@ ifeq ($(strip $(LIB_PATCH)),)
LIB_PATCH := 0
endif
ifeq ($(HAS_SOLIB_VERSION),1)
# Full version suffix for shared library
SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
# Different patchlevels are compatible, minor versions are not
SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif # HAS_SOLIB_VERSION
###########################################################
##### Source and object files #####
###########################################################
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
SRCS := cryptlib.cpp cpu.cpp integer.cpp $(filter-out cryptlib.cpp cpu.cpp integer.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp))
# Need CPU for X86/X64/X32 and ARM
ifeq ($(IS_X86)$(IS_X64)$(IS_ARM32)$(IS_ARM64),0000)
SRCS := $(filter-out cpu.cpp, $(SRCS))
endif
# Need RDRAND for X86/X64/X32
ifeq ($(IS_X86)$(IS_X64),00)
SRCS := $(filter-out rdrand.cpp, $(SRCS))
endif
ifneq ($(IS_MINGW),0)
SRCS += winpipes.cpp
endif
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
OBJS := $(SRCS:.cpp=.o)
# List test.cpp first to tame C++ static initialization problems.
TESTSRCS := test.cpp bench1.cpp bench2.cpp validat1.cpp validat2.cpp validat3.cpp adhoc.cpp datatest.cpp regtest.cpp fipsalgt.cpp dlltest.cpp
TESTOBJS := $(TESTSRCS:.cpp=.o)
LIBOBJS := $(filter-out $(TESTOBJS),$(OBJS))
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
DLLSRCS := cryptlib.cpp cpu.cpp integer.cpp shacal2.cpp md5.cpp shark.cpp zinflate.cpp gf2n.cpp salsa.cpp xtr.cpp oaep.cpp polynomi.cpp rc2.cpp default.cpp wait.cpp wake.cpp twofish.cpp iterhash.cpp adler32.cpp elgamal.cpp marss.cpp blowfish.cpp ecp.cpp filters.cpp strciphr.cpp camellia.cpp ida.cpp zlib.cpp des.cpp crc.cpp algparam.cpp dessp.cpp tea.cpp eax.cpp network.cpp emsa2.cpp pkcspad.cpp squaretb.cpp idea.cpp authenc.cpp hmac.cpp zdeflate.cpp xtrcrypt.cpp queue.cpp mars.cpp rc5.cpp blake2.cpp hrtimer.cpp eprecomp.cpp hex.cpp dsa.cpp sha.cpp fips140.cpp gzip.cpp seal.cpp files.cpp base32.cpp vmac.cpp tigertab.cpp sharkbox.cpp safer.cpp randpool.cpp esign.cpp arc4.cpp osrng.cpp skipjack.cpp seed.cpp sha3.cpp sosemanuk.cpp bfinit.cpp rabin.cpp 3way.cpp rw.cpp rdrand.cpp rsa.cpp rdtables.cpp gost.cpp socketft.cpp tftables.cpp nbtheory.cpp panama.cpp modes.cpp rijndael.cpp casts.cpp chacha.cpp gfpcrypt.cpp poly1305.cpp dll.cpp ec2n.cpp blumshub.cpp algebra.cpp basecode.cpp base64.cpp cbcmac.cpp rc6.cpp dh2.cpp gf256.cpp mqueue.cpp misc.cpp pssr.cpp channels.cpp tiger.cpp cast.cpp rng.cpp square.cpp asn.cpp whrlpool.cpp md4.cpp dh.cpp ccm.cpp md2.cpp mqv.cpp gf2_32.cpp ttmac.cpp luc.cpp trdlocal.cpp pubkey.cpp gcm.cpp ripemd.cpp eccrypto.cpp serpent.cpp cmac.cpp
DLLOBJS := $(DLLSRCS:.cpp=.export.o)
# Import lib testing
LIBIMPORTOBJS := $(LIBOBJS:.o=.import.o)
TESTIMPORTOBJS := $(TESTOBJS:.o=.import.o)
DLLTESTOBJS := dlltest.dllonly.o
###########################################################
##### Targets and Recipes #####
###########################################################
.PHONY: all
all: cryptest.exe
ifneq ($(IS_DARWIN),0)
@ -457,82 +280,49 @@ static: libcryptopp.a
shared dynamic dylib: libcryptopp.dylib
else
static: libcryptopp.a
shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
shared dynamic: libcryptopp.so
endif
.PHONY: deps
deps GNUmakefile.deps:
$(CXX) $(CXXFLAGS) -MM *.cpp > GNUmakefile.deps
# CXXFLAGS are tuned earlier.
.PHONY: asan ubsan align aligned
asan ubsan align aligned: libcryptopp.a cryptest.exe
# CXXFLAGS are tuned earlier. Applications must use linker flags
# -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X)
.PHONY: lean
lean: static dynamic cryptest.exe
# May want to export CXXFLAGS="-g3 -O1"
.PHONY: coverage
coverage: libcryptopp.a cryptest.exe
lcov --base-directory . --directory . --zerocounters -q
./cryptest.exe v
./cryptest.exe tv all
lcov --base-directory . --directory . -c -o cryptest.info
lcov --remove cryptest.info "*test.*" "bench*.cpp" "validat*.*" "/usr/*" -o cryptest.info
rm -rf ./TestCoverage/
genhtml -o ./TestCoverage/ -t "cryptest.exe test coverage" --num-spaces 4 cryptest.info
.PHONY: test check
test check: cryptest.exe
./cryptest.exe v
# Used to generate list of source files for Autotools, CMakeList, Android.mk, etc
.PHONY: sources
sources:
$(info Library sources: $(filter-out fipstest.cpp $(TESTSRCS),$(SRCS)))
$(info )
$(info Test sources: $(TESTSRCS))
# Directory we want (can't specify on Doygen command line)
DOCUMENT_DIRECTORY := ref$(LIB_VER)
# Directory Doxygen uses (specified in Doygen config file)
ifeq ($(wildcard Doxyfile),Doxyfile)
DOXYGEN_DIRECTORY := $(strip $(shell $(EGREP) "OUTPUT_DIRECTORY" Doxyfile | grep -v "\#" | cut -d "=" -f 2))
endif
# Default directory (in case its missing in the config file)
# Default directory (missing in config file)
ifeq ($(strip $(DOXYGEN_DIRECTORY)),)
DOXYGEN_DIRECTORY := html-docs
endif
# Builds the documentation. Directory name is ref563, ref570, etc.
.PHONY: docs html
docs html:
-$(RM) -r $(DOXYGEN_DIRECTORY)/ $(DOCUMENT_DIRECTORY)/ html-docs/
doxygen Doxyfile -d CRYPTOPP_DOXYGEN_PROCESSING
$(MV) $(DOXYGEN_DIRECTORY)/ $(DOCUMENT_DIRECTORY)/
mv $(DOXYGEN_DIRECTORY)/ $(DOCUMENT_DIRECTORY)/
-$(RM) CryptoPPRef.zip
zip -9 CryptoPPRef.zip -x ".*" -x "*/.*" -r $(DOCUMENT_DIRECTORY)/
.PHONY: clean
clean:
-$(RM) libcryptopp.a libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
ifeq ($(HAS_SOLIB_VERSION),1)
-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(TESTOBJS) $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct rdrand-???.o
-$(RM) *.gcno *.gcda *.stackdump core-*
-$(RM) /tmp/adhoc.exe
ifneq ($(wildcard /tmp/cryptopp_test/),)
-$(RM) -r /tmp/cryptopp_test/
endif
-$(RM) libcryptopp.a libcryptopp.so libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(TESTOBJS) $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) *.stackdump core-*
-$(RM) cryptest.exe dlltest.exe cryptest.import.exe ct rdrand-???.o
ifneq ($(wildcard *.exe.dSYM),)
-$(RM) -r *.exe.dSYM/
endif
ifneq ($(wildcard *.dylib.dSYM),)
-$(RM) -r *.dylib.dSYM/
ifneq ($(wildcard $(DOCUMENT_DIRECTORY)/),)
-$(RM) -r $(DOCUMENT_DIRECTORY)/
endif
ifneq ($(wildcard cov-int/),)
-$(RM) -r cov-int/
@ -540,18 +330,7 @@ endif
.PHONY: distclean
distclean: clean
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt cryptest-*.txt
-$(RM) CMakeCache.txt Makefile CTestTestfile.cmake cmake_install.cmake cryptopp-config-version.cmake
-$(RM) cryptopp.tgz *.o *.bc *.ii *.s *~
ifneq ($(wildcard CMakeFiles/),)
-$(RM) -r CMakeFiles/
endif
ifneq ($(wildcard $(DOCUMENT_DIRECTORY)/),)
-$(RM) -r $(DOCUMENT_DIRECTORY)/
endif
ifneq ($(wildcard TestCoverage/),)
-$(RM) -r TestCoverage/
endif
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt cryptest-*.txt *.o *.ii *.s
ifneq ($(wildcard cryptopp$(LIB_VER)\.*),)
-$(RM) cryptopp$(LIB_VER)\.*
endif
@ -564,87 +343,47 @@ endif
.PHONY: install
install:
$(MKDIR) -p $(DESTDIR)$(INCLUDEDIR)/cryptopp
$(CP) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(CHMOD) 0755 $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(CHMOD) 0644 $(DESTDIR)$(INCLUDEDIR)/cryptopp/*.h
ifneq ($(wildcard libcryptopp.a),)
$(MKDIR) -p $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.a $(DESTDIR)$(LIBDIR)
-$(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/libcryptopp.a
endif
ifneq ($(wildcard cryptest.exe),)
$(MKDIR) -p $(DESTDIR)$(BINDIR)
$(CP) cryptest.exe $(DESTDIR)$(BINDIR)
-$(CHMOD) 0755 $(DESTDIR)$(BINDIR)/cryptest.exe
$(MKDIR) -p $(DESTDIR)$(DATADIR)/cryptopp
$(CP) -r TestData $(DESTDIR)$(DATADIR)/cryptopp
$(CP) -r TestVectors $(DESTDIR)$(DATADIR)/cryptopp
-$(CHMOD) 0755 $(DESTDIR)$(DATADIR)/cryptopp
-$(CHMOD) 0755 $(DESTDIR)$(DATADIR)/cryptopp/TestData
-$(CHMOD) 0755 $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
-$(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestData/*.dat
-$(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestVectors/*.txt
endif
ifneq ($(wildcard libcryptopp.dylib),)
$(MKDIR) -p $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.dylib $(DESTDIR)$(LIBDIR)
-install_name_tool -id $(DESTDIR)$(LIBDIR)/libcryptopp.dylib $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
-$(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
endif
ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
$(MKDIR) -p $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
-$(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) -sf libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
$(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
-$(CP) *.h $(PREFIX)/include/cryptopp
-$(CHMOD) 755 $(PREFIX)/include/cryptopp
-$(CHMOD) 644 $(PREFIX)/include/cryptopp/*.h
-$(CP) libcryptopp.a $(PREFIX)/lib
-$(CHMOD) 644 $(PREFIX)/lib/libcryptopp.a
-$(CP) cryptest.exe $(PREFIX)/bin
-$(CHMOD) 755 $(PREFIX)/bin/cryptest.exe
ifneq ($(IS_DARWIN),0)
-$(CP) libcryptopp.dylib $(PREFIX)/lib
-$(CHMOD) 755 $(PREFIX)/lib/libcryptopp.dylib
else
-$(CP) libcryptopp.so $(PREFIX)/lib
-$(CHMOD) 755 $(PREFIX)/lib/libcryptopp.so
endif
.PHONY: remove uninstall
remove uninstall:
-$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a
-$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe
-$(RM) -r $(DESTDIR)$(DATADIR)/cryptopp
-$(RM) -r $(PREFIX)/include/cryptopp
-$(RM) $(PREFIX)/lib/libcryptopp.a
-$(RM) $(PREFIX)/bin/cryptest.exe
ifneq ($(IS_DARWIN),0)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
-$(RM) $(PREFIX)/lib/libcryptopp.dylib
else
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
-$(RM) $(PREFIX)/lib/libcryptopp.so
endif
libcryptopp.a: $(LIBOBJS)
libcryptopp.a: public_service | $(LIBOBJS)
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
ifeq ($(IS_SUN),0)
$(RANLIB) $@
endif
ifeq ($(HAS_SOLIB_VERSION),1)
.PHONY: libcryptopp.so
libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX) | so_warning
endif
libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
$(CXX) -shared $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif
libcryptopp.so: public_service | $(LIBOBJS)
$(CXX) -shared -o $@ $(CXXFLAGS) $(GOLD_OPTION) $(LIBOBJS) $(LDLIBS)
libcryptopp.dylib: $(LIBOBJS)
$(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS)
$(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS)
cryptest.exe: libcryptopp.a $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
cryptest.exe: public_service | libcryptopp.a $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(GOLD_OPTION) $(LDLIBS)
# Makes it faster to test changes
nolib: $(OBJS)
nolib: $(OBJS) # makes it faster to test changes
$(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
dll: cryptest.import.exe dlltest.exe
@ -654,9 +393,7 @@ cryptopp.dll: $(DLLOBJS)
libcryptopp.import.a: $(LIBIMPORTOBJS)
$(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
ifeq ($(IS_SUN),0)
$(RANLIB) $@
endif
cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
@ -664,58 +401,36 @@ cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
# This recipe requires a previous "svn co -r 541 http://svn.code.sf.net/p/cryptopp/code/trunk/c5"
.PHONY: diff
diff:
-$(RM) cryptopp$(LIB_VER).diff
-svn diff -r 541 > cryptopp$(LIB_VER).diff
# This recipe prepares the distro files
TEXT_FILES := *.h *.cpp adhoc.cpp.proto License.txt Readme.txt Install.txt Filelist.txt CMakeLists.txt config.compat Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestScripts/*.sh TestScripts/*.pl TestScripts/*.cmd
EXEC_FILES := GNUmakefile GNUmakefile-cross TestData/ TestVectors/ TestScripts/
TEXT_FILES := *.h *.cpp adhoc.cpp.proto License.txt Readme.txt Install.txt Filelist.txt config.recommend Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcproj *.dsw *.dsp cryptopp.rc TestVectors/*.txt TestData/*.dat
EXEC_FILES := GNUmakefile GNUmakefile-cross cryptest.sh rdrand-nasm.sh TestData/ TestVectors/
ifeq ($(wildcard Filelist.txt),Filelist.txt)
DIST_FILES := $(shell cat Filelist.txt)
endif
.PHONY: trim
trim:
ifneq ($(IS_DARWIN),0)
sed -i '' -e's/[[:space:]]*$$//' *.compat *.sh *.h *.cpp *.sln *.vcxproj GNUmakefile GNUmakefile-cross
make convert
else
sed -i -e's/[[:space:]]*$$//' *.compat *.sh *.h *.cpp *.sln *.vcxproj GNUmakefile GNUmakefile-cross
make convert
endif
.PHONY: convert
convert:
-$(CHMOD) 0700 TestVectors/ TestData/ TestScripts/
-$(CHMOD) 0600 $(TEXT_FILES) *.asm *.S *.zip *.cmake TestVectors/*.txt TestData/*.dat
-$(CHMOD) 0700 $(EXEC_FILES) *.sh *.cmd TestScripts/*.sh TestScripts/*.pl TestScripts/*.cmd
-$(CHMOD) 0700 *.cmd *.sh GNUmakefile GNUmakefile-cross TestScripts/*.sh TestScripts/*.pl
-unix2dos --keepdate --quiet $(TEXT_FILES) *.asm *.cmd *.cmake TestScripts/*.pl TestScripts/*.cmd
-dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.S *.sh TestScripts/*.sh
chmod 0700 TestVectors/ TestData/
chmod 0600 $(TEXT_FILES) *.zip
chmod 0700 $(EXEC_FILES)
chmod u+x *.cmd *.sh
unix2dos --keepdate --quiet $(TEXT_FILES) *.asm *.cmd
dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.S *.sh
ifneq ($(IS_DARWIN),0)
-xattr -c *
xattr -c *
endif
# Build the ZIP file with source files. No documentation.
.PHONY: zip dist
zip dist: | distclean convert
zip dist: | distclean convert diff
zip -q -9 cryptopp$(LIB_VER).zip $(DIST_FILES)
# Build the ISO to transfer the ZIP to old distros via CDROM
.PHONY: iso
iso: | zip
ifneq ($(IS_DARWIN),0)
$(MKDIR) -p $(PWD)/cryptopp$(LIB_VER)
$(CP) cryptopp$(LIB_VER).zip $(PWD)/cryptopp$(LIB_VER)
hdiutil makehybrid -iso -joliet -o cryptopp$(LIB_VER).iso $(PWD)/cryptopp$(LIB_VER)
-$(RM) -r $(PWD)/cryptopp$(LIB_VER)
else ifneq ($(IS_LINUX),0)
$(MKDIR) -p $(PWD)/cryptopp$(LIB_VER)
$(CP) cryptopp$(LIB_VER).zip $(PWD)/cryptopp$(LIB_VER)
genisoimage -q -o cryptopp$(LIB_VER).iso $(PWD)/cryptopp$(LIB_VER)
-$(RM) -r $(PWD)/cryptopp$(LIB_VER)
endif
# CRYPTOPP_CPU_SPEED in GHz
CRYPTOPP_CPU_SPEED ?= 2.4
.PHONY: bench benchmark benchmarks
bench benchmark benchmarks: cryptest.exe
rm -f benchmarks.html
@ -725,9 +440,9 @@ bench benchmark benchmarks: cryptest.exe
echo "<TITLE>Speed Comparison of Popular Crypto Algorithms</TITLE>" >> benchmarks.html
echo "</HEAD>" >> benchmarks.html
echo "<BODY>" >> benchmarks.html
echo "<H1><a href=\"http://www.cryptopp.com\">Crypto++</a>" $(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH) "Benchmarks</H1>" >> benchmarks.html
echo "<H1><a href=\"http://www.cryptopp.com\">Crypto++</a>" $(LIB_MAJOR).$(LIB_MINOR).$(LIB_REVISION) "Benchmarks</H1>" >> benchmarks.html
echo "<P>Here are speed benchmarks for some commonly used cryptographic algorithms.</P>" >> benchmarks.html
./cryptest.exe b 3 $(CRYPTOPP_CPU_SPEED) >> benchmarks.html
./cryptest.exe b 3 2.4 >> benchmarks.html
echo "</BODY>" >> benchmarks.html
echo "</HTML>" >> benchmarks.html
@ -754,20 +469,6 @@ cpu.o:
endif
endif
# Only use CRYPTOPP_DATA_DIR if its not set in CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_DATA_DIR,$(CXXFLAGS)),)
ifneq ($(strip $(CRYPTOPP_DATA_DIR)),)
validat%.o : validat%.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c $<
bench%.o : bench%.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c $<
datatest.o : datatest.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c $<
test.o : test.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c $<
endif
endif
%.dllonly.o : %.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@
@ -777,17 +478,27 @@ endif
%.export.o : %.cpp
$(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@
%.bc : %.cpp
$(CXX) $(CXXFLAGS) -c $<
%.o : %.cpp
$(CXX) $(CXXFLAGS) -c $<
.PHONY: so_warning
so_warning:
ifeq ($(HAS_SOLIB_VERSION),1)
$(info WARNING: Only the symlinks to the shared-object library have been updated.)
$(info WARNING: If the library is installed in a system directory you will need)
$(info WARNING: to run 'ldconfig' to update the shared-object library cache.)
# Warn of potential configurations issues. They will go away after 5.6.3.
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
NO_INIT_PRIORITY := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_INIT_PRIORITY" config.h)
COMPATIBILITY_562 := $(shell $(EGREP) -c "^[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562" config.h)
.PHONY: public_service
public_service:
ifneq ($(UNALIGNED_ACCESS),0)
$(info WARNING: CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined in config.h.)
endif
ifneq ($(NO_INIT_PRIORITY),0)
$(info WARNING: CRYPTOPP_INIT_PRIORITY is not defined in config.h.)
endif
ifneq ($(COMPATIBILITY_562),0)
$(info WARNING: CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 is defined in config.h.)
endif
ifneq ($(UNALIGNED_ACCESS)$(NO_INIT_PRIORITY)$(COMPATIBILITY_562),000)
$(info WARNING: You should make these changes in config.h, and not CXXFLAGS.)
$(info WARNING: You can 'mv config.recommend config.h', but it breaks versioning.)
$(info WARNING: See http://cryptopp.com/wiki/config.h for more details.)
$(info )
endif

252
Common/3dParty/cryptopp/GNUmakefile-cross Executable file → Normal file
View File

@ -4,50 +4,26 @@ CXXFLAGS ?= -DNDEBUG -g2 -Os -fPIC -pipe
# CXXFLAGS += -ffunction-sections -fdata-sections
# LDFLAGS += -Wl,--gc-sections
AR ?= ar
ARFLAGS ?= cr
ARFLAGS = -cr # ar needs the dash on OpenBSD
RANLIB ?= ranlib
CP ?= cp
MV ?= mv
CHMOD ?= chmod
MKDIR ?= mkdir
EGREP ?= egrep
LN ?= ln -sf
CP = cp
MKDIR = mkdir
EGREP = egrep
CHMOD = chmod
CLANG_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
IS_IOS ?= 0
IS_ANDROID ?= 0
IS_ARM_EMBEDDED ?= 0
# Can be used by Android and Embeeded cross-compiles. Disable by default because
# Android and embedded users typically don't run this configuration.
HAS_SOLIB_VERSION ?= 0
IS_X86=0
IS_LINUX=0
IS_MINGW=0
IS_DARWIN=0
UNAME=CrossCompile
# Default prefix for make install
ifeq ($(PREFIX),)
PREFIX = /usr/local
endif
# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
ifeq ($(DATADIR),)
DATADIR := $(PREFIX)/share
endif
ifeq ($(LIBDIR),)
LIBDIR := $(PREFIX)/lib
endif
ifeq ($(BINDIR),)
BINDIR := $(PREFIX)/bin
endif
ifeq ($(INCLUDEDIR),)
INCLUDEDIR := $(PREFIX)/include
endif
# We honor ARFLAGS, but the "v" option used by default causes a noisy make
ifeq ($(ARFLAGS),rv)
ARFLAGS = r
endif
# Sadly, we can't actually use GCC_PRAGMA_AWARE because of GCC bug 53431.
# Its a shame because GCC has so much to offer by the way of analysis.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
@ -55,200 +31,120 @@ ifneq ($(CLANG_COMPILER),0)
CXXFLAGS += -Wall
endif
# iOS cross-compile configuration.
# iOS cross-compile configuration. Works in conjunction with IS_CROSS_COMPILE.
# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
ifeq ($(IS_IOS),1)
CXX = clang++
CXXFLAGS += $(IOS_FLAGS) -arch $(IOS_ARCH)
CXXFLAGS += -isysroot $(IOS_SYSROOT) -stdlib=libc++
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM $(IOS_FLAGS)
CXXFLAGS += -arch $(IOS_ARCH) -isysroot $(IOS_SYSROOT)
CXXFLAGS += -stdlib=libc++
AR = libtool
ARFLAGS = -static -o
RANLIB = ranlib
endif
# Android cross-compile configuration.
# Android cross-compile configuration. Works in conjunction with IS_CROSS_COMPILE.
# See http://www.cryptopp.com/wiki/Android_(Command_Line).
ifeq ($(IS_ANDROID),1)
# CPP, CXX, AR, RANLIB, LD, etc are set in 'setenv-android.sh'
CXXFLAGS += $(AOSP_FLAGS) -DANDROID --sysroot=$(AOSP_SYSROOT)
CXXFLAGS += -Wa,--noexecstack -I$(AOSP_STL_INC)
# c++config.h shows up in odd places at times.
ifneq ($(AOSP_BITS_INC),)
CXXFLAGS += -I$(AOSP_BITS_INC)
endif
LDLIBS += $(AOSP_STL_LIB)
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM $(ANDROID_FLAGS)
CXXFLAGS += --sysroot=$(ANDROID_SYSROOT) -I$(ANDROID_STL_INC)
LDLIBS += $(ANDROID_STL_LIB)
endif
# ARM embedded cross-compile configuration.
# ARM embedded cross-compile configuration. Works in conjunction with IS_CROSS_COMPILE.
# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
ifeq ($(IS_ARM_EMBEDDED),1)
# CPP, CXX, AR, RANLIB, LD, etc are set in 'setenv-embedded.sh'
CXXFLAGS += $(ARM_EMBEDDED_FLAGS) --sysroot=$(ARM_EMBEDDED_SYSROOT)
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM $(ARM_EMBEDDED_FLAGS)
CXXFLAGS += --sysroot=$(ARM_EMBEDDED_SYSROOT)
endif
# Dead code stripping. Issue 'make lean'.
ifeq ($(findstring lean,$(MAKECMDGOALS)),lean)
ifeq ($(findstring -ffunction-sections,$(CXXFLAGS)),)
CXXFLAGS += -ffunction-sections
endif # CXXFLAGS
ifeq ($(findstring -fdata-sections,$(CXXFLAGS)),)
CXXFLAGS += -fdata-sections
endif # CXXFLAGS
ifeq ($(IS_IOS),1)
ifeq ($(findstring -Wl,-dead_strip,$(LDFLAGS)),)
LDFLAGS += -Wl,-dead_strip
endif # CXXFLAGS
else # BSD, Linux and Unix
ifeq ($(findstring -Wl,--gc-sections,$(LDFLAGS)),)
LDFLAGS += -Wl,--gc-sections
endif # LDFLAGS
endif # MAKECMDGOALS
endif # Dead code stripping
# List cryptlib.cpp first in an attempt to tame C++ static initialization problems
SRCS := cryptlib.cpp cpu.cpp $(filter-out cryptlib.cpp cpu.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp))
# List cryptlib.cpp first and cpu.cpp second in an attempt to tame C++ static initialization problems.
# The issue spills into POD data types of cpu.cpp due to the storage class of the bools, so cpu.cpp
# is the second candidate for explicit initialization order.
SRCS := cryptlib.cpp cpu.cpp integer.cpp $(filter-out cryptlib.cpp cpu.cpp integer.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp))
# List of objects with crytlib.o at the first index position
OBJS := $(SRCS:.cpp=.o)
# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
TESTSRCS := bench1.cpp bench2.cpp test.cpp validat1.cpp validat2.cpp validat3.cpp adhoc.cpp datatest.cpp regtest.cpp fipsalgt.cpp dlltest.cpp
TESTOBJS := $(TESTSRCS:.cpp=.o)
TESTOBJS := bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
LIBOBJS := $(filter-out $(TESTOBJS),$(OBJS))
# For Shared Objects, Diff, Dist/Zip rules
LIB_VER := $(shell $(EGREP) "define CRYPTOPP_VERSION" config.h | cut -d" " -f 3)
LIB_MAJOR := $(shell echo $(LIB_VER) | cut -c 1)
LIB_MINOR := $(shell echo $(LIB_VER) | cut -c 2)
LIB_PATCH := $(shell echo $(LIB_VER) | cut -c 3)
# List cryptlib.cpp first in an attempt to tame C++ static initialization problems
DLLSRCS := cryptlib.cpp cpu.cpp algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
DLLOBJS := $(DLLSRCS:.cpp=.export.o)
ifeq ($(strip $(LIB_PATCH)),)
LIB_PATCH := 0
endif
# Import lib testing
LIBIMPORTOBJS := $(LIBOBJS:.o=.import.o)
TESTIMPORTOBJS := $(TESTOBJS:.o=.import.o)
DLLTESTOBJS := dlltest.dllonly.o
ifeq ($(HAS_SOLIB_VERSION),1)
# Full version suffix for shared library
SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
# Different patchlevels are compatible, minor versions are not
SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif # HAS_SOLIB_VERSION
.PHONY: all
all: cryptest.exe
ifneq ($(IS_IOS),0)
ifneq ($(IS_DARWIN),0)
static: libcryptopp.a
shared dynamic dylib: libcryptopp.dylib
else
static: libcryptopp.a
shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
shared dynamic: libcryptopp.so
endif
test: cryptest.exe
./cryptest.exe v
# CXXFLAGS are tuned earlier. Applications must use linker flags
# -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X)
.PHONY: lean
lean: static dynamic cryptest.exe
.PHONY: clean
clean:
-$(RM) cryptest.exe libcryptopp.a libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.dylib
ifeq ($(HAS_SOLIB_VERSION),1)
-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(TESTOBJS)
ifneq ($(wildcard *.exe.dSYM),)
-$(RM) -r *.exe.dSYM/
endif
ifneq ($(wildcard *.dylib.dSYM),)
-$(RM) -r *.dylib.dSYM/
-$(RM) cryptest.exe dlltest.exe libcryptopp.a libcryptopp.so libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe ct
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(TESTOBJS) $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
ifneq ($(wildcard *.dSYM),)
-$(RM) -r cryptest.exe.dSYM dlltest.exe.dSYM
endif
.PHONY: distclean
distclean: clean
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps cryptopp.tgz *.o *.ii *.s
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps cryptopp$(LIB_VER).diff cryptopp$(LIB_VER).zip *.o *.ii *.s
.PHONY: install
install:
$(MKDIR) -p $(DESTDIR)$(INCLUDEDIR)/cryptopp
$(CP) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(CHMOD) 755 $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(CHMOD) 644 $(DESTDIR)$(INCLUDEDIR)/cryptopp/*.h
ifneq ($(wildcard cryptest.exe),)
$(MKDIR) -p $(DESTDIR)$(BINDIR)
$(CP) cryptest.exe $(DESTDIR)$(BINDIR)
-$(CHMOD) 755 $(DESTDIR)$(BINDIR)/cryptest.exe
endif
ifneq ($(wildcard libcryptopp.a),)
$(MKDIR) -p $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.a $(DESTDIR)$(LIBDIR)
-$(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libcryptopp.a
endif
ifneq ($(wildcard libcryptopp.dylib),)
$(MKDIR) -p $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.dylib $(DESTDIR)$(LIBDIR)
-$(CHMOD) 755 $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
endif
ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
$(CP) libcryptopp.so $(DESTDIR)$(LIBDIR)
-$(CHMOD) 755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) -sf libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
endif
$(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
-$(CP) *.h $(PREFIX)/include/cryptopp
-$(CHMOD) 755 $(PREFIX)/include/cryptopp
-$(CHMOD) 644 $(PREFIX)/include/cryptopp/*.h
-$(CP) libcryptopp.a $(PREFIX)/lib
-$(CHMOD) 644 $(PREFIX)/lib/libcryptopp.a
-$(CP) cryptest.exe $(PREFIX)/bin
-$(CHMOD) 755 $(PREFIX)/bin/cryptest.exe
ifneq ($(IS_DARWIN),0)
-$(CP) libcryptopp.dylib $(PREFIX)/lib
-$(CHMOD) 755 $(PREFIX)/lib/libcryptopp.dylib
else
-$(CP) libcryptopp.so $(PREFIX)/lib
-$(CHMOD) 755 $(PREFIX)/lib/libcryptopp.so
endif
.PHONY: remove uninstall
remove uninstall:
-$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a
-$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe
ifneq ($(IS_IOS),0)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
-$(RM) -r $(PREFIX)/include/cryptopp
-$(RM) $(PREFIX)/lib/libcryptopp.a
-$(RM) $(PREFIX)/bin/cryptest.exe
ifneq ($(IS_DARWIN),0)
-$(RM) $(PREFIX)/lib/libcryptopp.dylib
else
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so
endif
-$(RM) $(PREFIX)/lib/libcryptopp.so
endif
libcryptopp.a: $(LIBOBJS)
libcryptopp.a: public_service | $(LIBOBJS)
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
$(RANLIB) $@
ifeq ($(HAS_SOLIB_VERSION),1)
.PHONY: libcryptopp.so
libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
endif
libcryptopp.so: public_service | $(LIBOBJS)
$(CXX) $(CXXFLAGS) -shared -o $@ $(LIBOBJS) $(LDFLAGS) $(LDLIBS)
libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
$(CXX) -shared $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) -Wl,--exclude-libs,ALL $(LIBOBJS) $(LDFLAGS) $(LDLIBS)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif
libcryptopp.dylib: $(LIBOBJS)
$(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS)
cryptest.exe: libcryptopp.a $(TESTOBJS)
cryptest.exe: public_service | libcryptopp.a $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
# Used to generate list of source files for Autotools, CMakeList and Android.mk
.PHONY: sources
sources:
$(info Library sources: $(filter-out fipstest.cpp $(TESTSRCS),$(SRCS)))
$(info )
$(info Test sources: $(TESTSRCS))
adhoc.cpp: adhoc.cpp.proto
ifeq ($(wildcard adhoc.cpp),)
cp adhoc.cpp.proto adhoc.cpp
@ -266,3 +162,25 @@ endif # Dependencies
GNUmakefile.deps:
$(CXX) $(CXXFLAGS) -MM *.cpp > GNUmakefile.deps
# Warn of potential configurations issues. This will go away after 5.6.3
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
NO_INIT_PRIORITY := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_INIT_PRIORITY" config.h)
COMPATIBILITY_562 := $(shell $(EGREP) -c "^[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562" config.h)
.PHONY: public_service
public_service:
ifneq ($(UNALIGNED_ACCESS),0)
$(info WARNING: CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined in config.h.)
endif
ifneq ($(NO_INIT_PRIORITY),0)
$(info WARNING: CRYPTOPP_INIT_PRIORITY is not defined in config.h.)
endif
ifneq ($(COMPATIBILITY_562),0)
$(info WARNING: CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 is defined in config.h.)
endif
ifneq (x$(UNALIGNED_ACCESS)$(NO_INIT_PRIORITY)$(COMPATIBILITY_562),x000)
$(info WARNING: You should make these changes in config.h, and not CXXFLAGS.)
$(info WARNING: You can 'mv config.recommend config.h', but it breaks versioning.)
$(info WARNING: See http://cryptopp.com/wiki/config.h for more details.)
$(info )
endif

View File

@ -1,185 +1,169 @@
CONTENTS OF THIS FILE
---------------------
* Introduction
* Building the Library
* Alternate Build Systems
* Installing the Library
* Makefile Targets
* Dynamic Analysis
* Acceptance Testing
* Reporting problems
INTRODUCTION
------------
Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. It was written and placed in public domain by Wei Dai. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at http://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt.
These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. The library uses a GNU makefile, which combines configuration and a non-anemic make. On BSD and Solaris you will likely have to use `gmake` to build the library. On Linux, OS X and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions.
You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. If you need compatibility with Crypto++ 5.6.2, then you can use `config.compat` in place of `config.h`. You are discouraged from using `config.compat` because it re-introduces undefined behavior that was cleared at Crypto++ 5.6.3.
Wiki pages are available for some platforms with specific build instructions. The wiki can be found at http://cryptopp.com/wiki/. The pages include Android, ARM, iOS and Solaris. Solaris users should visit the wiki for important information on compiling the library with different versions of SunCC and options, and information on improving library performance and features.
Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use CMake, and does not use Boost. If you use an alternate build system, like Autotools or CMake, then see the warning below about CXXFLAGS and lack of -DNDEBUG. CMake is available in Master as a matter of convenience, but its not officially supported.
BUILDING THE LIBRARY
--------------------
In general, all you should have to do is open a terminal, and then:
make
make test
sudo make install
The command above builds the static library and cryptest.exe program. If you want to build the shared object, then issue:
make static dynamic cryptest.exe
Or:
make libcryptopp.a libcryptopp.so cryptest.exe
If you would like to use a different compiler, the set CXX:
export CXX=/opt/intel/bin/icpc
make
If you want to build using C++11, then:
make CXXFLAGS="-std=c++11"
Or:
CXXFLAGS="-std=c++11"
make
LLVM's libc++ is also supported, so you can:
CXXFLAGS="-std=c++11 -stdlib=libc++"
make
ALTERNATE BUILD SYSTEMS
-----------------------
The Crypto++ library is Make based and uses GNU Make by default. The makefile uses '-DNDEBUG -g2 -O2' CXXFLAGS by default. If you use an alternate build system, like Autotools or CMake, then ensure the build system includes '-DNDEBUG' for production or release builds. The Crypto++ library uses asserts for debugging and diagnostics during development; it does not rely on them to crash a program at runtime.
If an assert triggers in production software, then unprotected sensitive information could be egressed from the program to the filesystem or the platform's error reporting program, like Apport on Ubuntu or CrashReporter on Apple.
The makefile orders object files to help remediate problems associated with C++ static initialization order. The library does not use custom linker scripts. If you use an alternate build system, like Autotools or CMake, and collect source files into a list, then ensure these three are at the head of the list: 'cryptlib.cpp cpu.cpp integer.cpp <other sources>'. They should be linked in the same order: 'cryptlib.o cpu.o integer.o <other objects>'.
If your linker supports initialization attributes, like init_priority, then you can define CRYPTOPP_INIT_PRIORITY to control object initialization order. Set it to a value like 250. User programs can use CRYPTOPP_USER_PRIORITY to avoid conflicts with library values. Initialization attributes are more reliable than object file ordering, but its not ubiquitously supported by linkers.
The makefile links to the static version of the Crypto++ library to avoid binary planting and other LD_PRELOAD tricks. You should use the static version of the library in your programs to help avoid unwanted redirections.
INSTALLING THE LIBRARY
----------------------
To install the library into a user selected directory, perform:
make install PREFIX=/usr/local
If you are going to run `make install PREFIX=/usr/local`, then you should build with '-DCRYPTOPP_DATA_DIR='\"$PREFIX/share/cryptopp/\"' to ensure cryptest.exe can locate the test data files and test vectors after installation. The trailing slash in the path is needed because simple preprocessor concatenation is used.
During install, the makefile copies cryptest.exe into $PREFIX/bin, copies headers into $PREFIX/include/cryptopp, and copies libraries into $PREFIX/lib. If you only built a static or dynamic version of the library, then only one library is copied. The install recipe does not fail if the static library or shared object is not built.
PREFIX is non-standard, but its retained for historical purposes. The makefile also responds to `prefix=<path>`.
MAKEFILE TARGETS
----------------
The following are some of the targets provided by the GNU makefile.
`make` invokes the default rule, which builds the Crypto++ static library and test harness. They are called `libcryptopp.a` and `cryptest.exe`, respectively. `cryptest.exe` links against `libcryptopp.a`, so the static library is a prerequisite for the target.
`make libcryptopp.a` and `make static` build the static version of the library.
`make libcryptopp.so` and `make dynamic` build the dynamic version of the library. On Mac OS X, the recipe builds `libcryptopp.dylib` instead.
`make cryptest.exe` builds the library test harness.
`make test` and `make check` are the same recipe and invoke the test harness with the the validation option. That is, it executes `cryptest.exe v`.
`make install` installs the library. By default, the makefile copies into `/usr/local` by default.
`make clean` cleans most transient and temporary objects.
`make disclean` cleans most objects that are not part of the original distribution.
`make dist` and `make zip` builds ZIP file that is suitable for distribution.
`make iso` builds an ISO on Linux or OS X that is suitable for alternate distribution.
`make ubsan` and `make asan` builds the library with the respective sanitizer.
DYNAMIC ANALYSIS
----------------
The Crypto++ embraces tools like Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan) and Valgrind. Both Clang 3.2 and above and GCC 4.8 and above provide sanitizers. Please check with your distribution on how to install the compiler with its sanitizer libraries (they are sometimes a separate install item).
UBsan and Asan are mutually exclusive options, so you can perform only one of these at a time:
make ubsan
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
Or:
make asan
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
If you experience self test failures or see reports of undefined behavior, then you should ensure CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is defined in config.h. CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined due to historical purposes.
If you experience failures under Asan, then gather more information with:
./cryptest.exe v 2>&1 | asan_symbolize
If you moved Crypto++ such that the paths have changed, then perform:
./cryptest.exe v 2>&1 | sed "s/<old path>/<new path>/g" | asan_symbolize
ACCEPTANCE TESTING
------------------
Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture.
The first gate is code review and discussion of proposed patches. Git commits often cross reference a User Group discussions.
Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves.
Third, the code must pass cleanly though GCC and Clang's Undefined Behavior sanitizer (UBsan) and Address sanitizer (Asan) with CRYPTOPP_NO_UNALIGNED_DATA_ACCESS defined in config.h. See DYNAMIC ANALYSIS above on how to execute them.
Fourth, the test harness provides a "validation" option which performs basic system checks (like endianess and word sizes) and exercises algorithms (like AES and SHA). You run the validation suite as shown below. The tail of the output should indicate 0 failed tests.
./cryptest.exe v
...
All tests passed!
Test ended at Sun Jul 26 02:10:57 2015
Seed used was: 1437891055
Fifth, the test harness provides a "test vector" option which uses many known test vectors, even those published by other people (like Brian Gladman for AES). You run the test vectors as shown below. The tail of the output should indicate 0 failed tests.
./cryptest.exe tv all
...
Testing SymmetricCipher algorithm MARS/ECB.
.................
Tests complete. Total tests = 4094. Failed tests = 0.
The library also offers its test script for those who want to use it. The test script is names cryptest.sh, and it repeatedly builds the library and exectues the tests under various configurations. It takes 2 to 4 hours to run on a semi-modern desktop or server; and days to run on an IoT gadget. Also see http://github.com/weidai11/cryptopp/blob/master/cryptest.sh and http://cryptopp.com/wiki/Cryptest.sh.
REPORTING PROBLEMS
------------------
Dirty compiles and failures in the validation suite or test vectors should be reported at the Crypto++ User Group. The User Group is located at http://groups.google.com/forum/#!forum/cryptopp-users.
Also see http://www.cryptopp.com/wiki/Bug_Report.
CONTENTS OF THIS FILE
---------------------
* Introduction
* Building the Library
* Installing the Library
* Makefile Targets
* DataDir Patch
* Dynamic Analysis
* Acceptance Testing
* Reporting problems
INTRODUCTION
------------
Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. It was written and placed in public domain by Wei Dai. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at https://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt.
These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. On BSD you will likely have to use `gmake` to build the library. On Linux, OS X, Solaris and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions.
Crypto++ uses a GNU makefile, which combines configuration and a non-anemic make. You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. Please pay particular attention to CRYPTOPP_NO_UNALIGNED_DATA_ACCESS in config.h.
Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use Cmake, and does not use Boost.
BUILDING THE LIBRARY
--------------------
In general, all you should have to do is open a terminal, and then:
make
make test
sudo make install
The command above builds the static library and cryptest.exe program. If you want to build the shared object, then issue:
make static dynamic cryptest.exe
Or:
make libcryptopp.a libcryptopp.so cryptest.exe
If you would like to use a different compiler, the set CXX:
export CXX=/opt/intel/bin/icpc
make
If you want to build using C++11, then:
make CXXFLAGS="-std=c++11"
Or:
CXXFLAGS="-std=c++11"
make
LLVM's libc++ is also supported, so you can:
CXXFLAGS="-std=c++11 -stdlib=libc++"
make
INSTALLING THE LIBRARY
----------------------
To install the library into a user selected directory, perform:
make install PREFIX=/usr/local
During install, the makefile copies cryptest.exe into $PREFIX/bin, copies headers into $PREFIX/include/cryptopp, and copies libraries into $PREFIX/lib. If you only built a static or dynamic version of the library, then only one library is copied. The install recipe does not fail if the static library or shared object is not built.
PREFIX is non-standard, but its retained for historical purposes. The makefile also responds to `prefix=<path>`.
There are some open issues installing the library because cryptest.exe is not sympathetic to path changes of of its test vectors and test data. See the DataDir patch below to fix it.
MAKEFILE TARGETS
----------------
The following are some of the targets provided by the GNU makefile.
`make` invokes the default rule, which builds the Crypto++ static library and test harness. They are called `libcryptopp.a` and `cryptest.exe`, respectively. `cryptest.exe` links against `libcryptopp.a`, so the static library is a prerequisite for the target.
`make libcryptopp.a` and `make static` build the static version of the library.
`make libcryptopp.so` and `make dynamic` build the dynamic version of the library. On Mac OS X, the recipe builds `libcryptopp.dylib` instead.
`make cryptest.exe` builds the library test harness.
`make test` and `make check` are the same recipe and invoke the test harness with the the validation option. That is, it executes `cryptest.exe v`.
`make install` installs the library. By default, the makefile copies into `/usr`. On OpenBSD, `make install` uses `/usr/local` by default because C++ headers should not be placed with the system headers.
`make clean` cleans most transient and temporary objects.
`make disclean` cleans most objects that are not part of the original distribution.
`make dist` and `make zip` build s ZIP file that is suitable for distribution.
DATADIR PATCH
-------------
The library offers a DataDir patch to help with post-installation issues regarding the location of the test vectors and test data. Its a patch provided by the community, so it must be applied manually. To acquire the patch, see http://www.cryptopp.com/wiki/DataDir.
DYNAMIC ANALYSIS
----------------
The Crypto++ embraces tools like Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan) and Valgrind. Both Clang 3.2 and above and GCC 4.8 and above provide sanitizers. Please check with your distribution on how to install the compiler with its sanitizer libraries (they are sometimes a separate install item).
UBsan and Asan are mutually exclusive options, so you can perform only one of these at a time:
make ubsan
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
Or:
make asan
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
If you experience self test failures or see reports of undefined behavior, then you should ensure CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is defined in config.h. CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined due to historical purposes.
If you experience failures under Asan, then gather more information with:
./cryptest.exe v 2>&1 | asan_symbolize
If you moved Crypto++ such that the paths have changed, then perform:
./cryptest.exe v 2>&1 | sed "s/<old path>/<new path>/g" | asan_symbolize
ACCEPTANCE TESTING
------------------
Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture.
The first gate is code review and discussion of proposed patches. Git commits often cross reference a User Group discussions.
Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves.
Third, the code must pass cleanly though GCC and Clang's Undefined Behavior sanitizer (UBsan) and Address sanitizer (Asan) with CRYPTOPP_NO_UNALIGNED_DATA_ACCESS defined in config.h. See DYNAMIC ANALYSIS above on how to execute them.
Fourth, the test harness provides a "validation" option which performs basic system checks (like endianess and word sizes) and exercises algorithms (like AES and SHA). You run the validation suite as shown below. The tail of the output should indicate 0 failed tests.
./cryptest.exe v
...
All tests passed!
Test ended at Sun Jul 26 02:10:57 2015
Seed used was: 1437891055
Fifth, the test harness provides a "test vector" option which uses many known test vectors, even those published by other people (like Brian Gladman for AES). You run the test vectors as shown below. The tail of the output should indicate 0 failed tests.
./cryptest.exe tv all
...
Testing SymmetricCipher algorithm MARS/ECB.
.................
Tests complete. Total tests = 4094. Failed tests = 0.
REPORTING PROBLEMS
------------------
Dirty compiles and failures in the validation suite or test vectors should be reported at the Crypto++ User Group. The User Group is located at https://groups.google.com/forum/#!forum/cryptopp-users.
Also see http://www.cryptopp.com/wiki/Bug_Report.

View File

@ -1,51 +1,51 @@
Compilation Copyright (c) 1995-2016 by Wei Dai. All rights reserved.
This copyright applies only to this software distribution package
as a compilation, and does not imply a copyright on any particular
file in the package.
All individual files in this compilation are placed in the public domain by
Wei Dai and other contributors.
I would like to thank the following authors for placing their works into
the public domain:
Joan Daemen - 3way.cpp
Leonard Janke - cast.cpp, seal.cpp
Steve Reid - cast.cpp
Phil Karn - des.cpp
Andrew M. Kuchling - md2.cpp, md4.cpp
Colin Plumb - md5.cpp
Seal Woods - rc6.cpp
Chris Morgan - rijndael.cpp
Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
Richard De Moliner - safer.cpp
Matthew Skala - twofish.cpp
Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
Ronny Van Keer - sha3.cpp
The Crypto++ Library (as a compilation) is currently licensed under the Boost
Software License 1.0 (http://www.boost.org/users/license.html).
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Compilation Copyright (c) 1995-2013 by Wei Dai. All rights reserved.
This copyright applies only to this software distribution package
as a compilation, and does not imply a copyright on any particular
file in the package.
All individual files in this compilation are placed in the public domain by
Wei Dai and other contributors.
I would like to thank the following authors for placing their works into
the public domain:
Joan Daemen - 3way.cpp
Leonard Janke - cast.cpp, seal.cpp
Steve Reid - cast.cpp
Phil Karn - des.cpp
Andrew M. Kuchling - md2.cpp, md4.cpp
Colin Plumb - md5.cpp
Seal Woods - rc6.cpp
Chris Morgan - rijndael.cpp
Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
Richard De Moliner - safer.cpp
Matthew Skala - twofish.cpp
Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
Ronny Van Keer - sha3.cpp
The Crypto++ Library (as a compilation) is currently licensed under the Boost
Software License 1.0 (http://www.boost.org/users/license.html).
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff
0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5
0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617

View File

@ -0,0 +1,5 @@
000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7
000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd
def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2
d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed

View File

@ -0,0 +1,45 @@
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43
80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C
00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D
00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C
00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9
00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71
01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27
02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D
04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4
08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14
10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420
20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43
40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6
80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280

View File

@ -0,0 +1,11 @@
01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A
01 23 45 67 89 AB CD EF
23 8B 4F E5 84 7E 44 B2
01 23 45 67 12 34 56 78 23 45
01 23 45 67 89 AB CD EF
EB 6A 71 1A 2C 02 27 1B
01 23 45 67 12
01 23 45 67 89 AB CD EF
7A C8 16 D1 6E 9B 30 2E

View File

@ -0,0 +1,11 @@
2342bb9efa38542c0af75647f29f615d
00000000000000000000000000000000
c842a08972b43d20836c91d1b7530f6b
2342bb9efa38542cbed0ac83940ac298bac77a7717942863
00000000000000000000000000000000
1b386c0210dcadcbdd0e41aa08a7a7e8
2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604
00000000000000000000000000000000
4f6a2038286897b9c9870136553317fa

View File

@ -0,0 +1,171 @@
0101010101010101 95F8A5E5DD31D900 8000000000000000
0101010101010101 DD7F121CA5015619 4000000000000000
0101010101010101 2E8653104F3834EA 2000000000000000
0101010101010101 4BD388FF6CD81D4F 1000000000000000
0101010101010101 20B9E767B2FB1456 0800000000000000
0101010101010101 55579380D77138EF 0400000000000000
0101010101010101 6CC5DEFAAF04512F 0200000000000000
0101010101010101 0D9F279BA5D87260 0100000000000000
0101010101010101 D9031B0271BD5A0A 0080000000000000
0101010101010101 424250B37C3DD951 0040000000000000
0101010101010101 B8061B7ECD9A21E5 0020000000000000
0101010101010101 F15D0F286B65BD28 0010000000000000
0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000
0101010101010101 E6D5F82752AD63D1 0004000000000000
0101010101010101 ECBFE3BD3F591A5E 0002000000000000
0101010101010101 F356834379D165CD 0001000000000000
0101010101010101 2B9F982F20037FA9 0000800000000000
0101010101010101 889DE068A16F0BE6 0000400000000000
0101010101010101 E19E275D846A1298 0000200000000000
0101010101010101 329A8ED523D71AEC 0000100000000000
0101010101010101 E7FCE22557D23C97 0000080000000000
0101010101010101 12A9F5817FF2D65D 0000040000000000
0101010101010101 A484C3AD38DC9C19 0000020000000000
0101010101010101 FBE00A8A1EF8AD72 0000010000000000
0101010101010101 750D079407521363 0000008000000000
0101010101010101 64FEED9C724C2FAF 0000004000000000
0101010101010101 F02B263B328E2B60 0000002000000000
0101010101010101 9D64555A9A10B852 0000001000000000
0101010101010101 D106FF0BED5255D7 0000000800000000
0101010101010101 E1652C6B138C64A5 0000000400000000
0101010101010101 E428581186EC8F46 0000000200000000
0101010101010101 AEB5F5EDE22D1A36 0000000100000000
0101010101010101 E943D7568AEC0C5C 0000000080000000
0101010101010101 DF98C8276F54B04B 0000000040000000
0101010101010101 B160E4680F6C696F 0000000020000000
0101010101010101 FA0752B07D9C4AB8 0000000010000000
0101010101010101 CA3A2B036DBC8502 0000000008000000
0101010101010101 5E0905517BB59BCF 0000000004000000
0101010101010101 814EEB3B91D90726 0000000002000000
0101010101010101 4D49DB1532919C9F 0000000001000000
0101010101010101 25EB5FC3F8CF0621 0000000000800000
0101010101010101 AB6A20C0620D1C6F 0000000000400000
0101010101010101 79E90DBC98F92CCA 0000000000200000
0101010101010101 866ECEDD8072BB0E 0000000000100000
0101010101010101 8B54536F2F3E64A8 0000000000080000
0101010101010101 EA51D3975595B86B 0000000000040000
0101010101010101 CAFFC6AC4542DE31 0000000000020000
0101010101010101 8DD45A2DDF90796C 0000000000010000
0101010101010101 1029D55E880EC2D0 0000000000008000
0101010101010101 5D86CB23639DBEA9 0000000000004000
0101010101010101 1D1CA853AE7C0C5F 0000000000002000
0101010101010101 CE332329248F3228 0000000000001000
0101010101010101 8405D1ABE24FB942 0000000000000800
0101010101010101 E643D78090CA4207 0000000000000400
0101010101010101 48221B9937748A23 0000000000000200
0101010101010101 DD7C0BBD61FAFD54 0000000000000100
0101010101010101 2FBC291A570DB5C4 0000000000000080
0101010101010101 E07C30D7E4E26E12 0000000000000040
0101010101010101 0953E2258E8E90A1 0000000000000020
0101010101010101 5B711BC4CEEBF2EE 0000000000000010
0101010101010101 CC083F1E6D9E85F6 0000000000000008
0101010101010101 D2FD8867D50D2DFE 0000000000000004
0101010101010101 06E7EA22CE92708F 0000000000000002
0101010101010101 166B40B44ABA4BD6 0000000000000001
8001010101010101 0000000000000000 95A8D72813DAA94D
4001010101010101 0000000000000000 0EEC1487DD8C26D5
2001010101010101 0000000000000000 7AD16FFB79C45926
1001010101010101 0000000000000000 D3746294CA6A6CF3
0801010101010101 0000000000000000 809F5F873C1FD761
0401010101010101 0000000000000000 C02FAFFEC989D1FC
0201010101010101 0000000000000000 4615AA1D33E72F10
0180010101010101 0000000000000000 2055123350C00858
0140010101010101 0000000000000000 DF3B99D6577397C8
0120010101010101 0000000000000000 31FE17369B5288C9
0110010101010101 0000000000000000 DFDD3CC64DAE1642
0108010101010101 0000000000000000 178C83CE2B399D94
0104010101010101 0000000000000000 50F636324A9B7F80
0102010101010101 0000000000000000 A8468EE3BC18F06D
0101800101010101 0000000000000000 A2DC9E92FD3CDE92
0101400101010101 0000000000000000 CAC09F797D031287
0101200101010101 0000000000000000 90BA680B22AEB525
0101100101010101 0000000000000000 CE7A24F350E280B6
0101080101010101 0000000000000000 882BFF0AA01A0B87
0101040101010101 0000000000000000 25610288924511C2
0101020101010101 0000000000000000 C71516C29C75D170
0101018001010101 0000000000000000 5199C29A52C9F059
0101014001010101 0000000000000000 C22F0A294A71F29F
0101012001010101 0000000000000000 EE371483714C02EA
0101011001010101 0000000000000000 A81FBD448F9E522F
0101010801010101 0000000000000000 4F644C92E192DFED
0101010401010101 0000000000000000 1AFA9A66A6DF92AE
0101010201010101 0000000000000000 B3C1CC715CB879D8
0101010180010101 0000000000000000 19D032E64AB0BD8B
0101010140010101 0000000000000000 3CFAA7A7DC8720DC
0101010120010101 0000000000000000 B7265F7F447AC6F3
0101010110010101 0000000000000000 9DB73B3C0D163F54
0101010108010101 0000000000000000 8181B65BABF4A975
0101010104010101 0000000000000000 93C9B64042EAA240
0101010102010101 0000000000000000 5570530829705592
0101010101800101 0000000000000000 8638809E878787A0
0101010101400101 0000000000000000 41B9A79AF79AC208
0101010101200101 0000000000000000 7A9BE42F2009A892
0101010101100101 0000000000000000 29038D56BA6D2745
0101010101080101 0000000000000000 5495C6ABF1E5DF51
0101010101040101 0000000000000000 AE13DBD561488933
0101010101020101 0000000000000000 024D1FFA8904E389
0101010101018001 0000000000000000 D1399712F99BF02E
0101010101014001 0000000000000000 14C1D7C1CFFEC79E
0101010101012001 0000000000000000 1DE5279DAE3BED6F
0101010101011001 0000000000000000 E941A33F85501303
0101010101010801 0000000000000000 DA99DBBC9A03F379
0101010101010401 0000000000000000 B7FC92F91D8E92E9
0101010101010201 0000000000000000 AE8E5CAA3CA04E85
0101010101010180 0000000000000000 9CC62DF43B6EED74
0101010101010140 0000000000000000 D863DBB5C59A91A0
0101010101010120 0000000000000000 A1AB2190545B91D7
0101010101010110 0000000000000000 0875041E64C570F7
0101010101010108 0000000000000000 5A594528BEBEF1CC
0101010101010104 0000000000000000 FCDB3291DE21F0C0
0101010101010102 0000000000000000 869EFD7F9F265A09
1046913489980131 0000000000000000 88D55E54F54C97B4
1007103489988020 0000000000000000 0C0CC00C83EA48FD
10071034C8980120 0000000000000000 83BC8EF3A6570183
1046103489988020 0000000000000000 DF725DCAD94EA2E9
1086911519190101 0000000000000000 E652B53B550BE8B0
1086911519580101 0000000000000000 AF527120C485CBB0
5107B01519580101 0000000000000000 0F04CE393DB926D5
1007B01519190101 0000000000000000 C9F00FFC74079067
3107915498080101 0000000000000000 7CFD82A593252B4E
3107919498080101 0000000000000000 CB49A2F9E91363E3
10079115B9080140 0000000000000000 00B588BE70D23F56
3107911598090140 0000000000000000 406A9A6AB43399AE
1007D01589980101 0000000000000000 6CB773611DCA9ADA
9107911589980101 0000000000000000 67FD21C17DBB5D70
9107D01589190101 0000000000000000 9592CB4110430787
1007D01598980120 0000000000000000 A6B7FF68A318DDD3
1007940498190101 0000000000000000 4D102196C914CA16
0107910491190401 0000000000000000 2DFA9F4573594965
0107910491190101 0000000000000000 B46604816C0E0774
0107940491190401 0000000000000000 6E7E6221A4F34E87
19079210981A0101 0000000000000000 AA85E74643233199
1007911998190801 0000000000000000 2E5A19DB4D1962D6
10079119981A0801 0000000000000000 23A866A809D30894
1007921098190101 0000000000000000 D812D961F017D320
100791159819010B 0000000000000000 055605816E58608F
1004801598190101 0000000000000000 ABD88E8B1B7716F1
1004801598190102 0000000000000000 537AC95BE69DA1E1
1004801598190108 0000000000000000 AED0F6AE3C25CDD8
1002911598100104 0000000000000000 B3E35A5EE53E7B8D
1002911598190104 0000000000000000 61C79C71921A2EF8
1002911598100201 0000000000000000 E2F5728F0995013C
1002911698100101 0000000000000000 1AEAC39A61F0A464
7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
025816164629B007 480D39006EE762F2 A1F9915541020B56
49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793

View File

@ -0,0 +1 @@
30818702818100DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F020102

View File

@ -0,0 +1 @@
308201080282010100EB60DBD494AAFBCD2EAC6A36DB8E7DD4A2A64512A5BBB15B9BFB581C7C1CAFB647D4612973C3770C2166D75EEA695F67EA8261557591DB78BCF5A886AA5294F3AEE4D25B57C8EE8C7FE8DBF70C132CD7FFCB6F89426F807F552C5DAE2FB1F329E340094E4B30D8EF6265AB4D350E9837B151C86AC524DE4E1FC04746C668BE318275E420D51AEDDFBDF887D435CDEEF6AC81293DB45287132F8236A43AD8F4D6642D7CA6732DA06A1DE008259008C9D74403B68ADAC788CF8AB5BEFFC310DCCCD32901D1F290E5B7A993D2CF6A652AF81B6DA0FD2E70678D1AE086150E41444522F20621195AD2A1F0975652B4AF7DE5261A9FD46B9EA8B443641F3BBA695B9B020103

View File

@ -0,0 +1 @@
308201370201003082011706072A8648CE3804013082010A02818100D4EC6B7A18416519C76766726B3D2D5F054D107B30E97691B15EB0DCDF452B77F10E12C14450AB107BE349C2DF3A2DBD9D844A24ABA21B328D568E8EC6B959E70BADE5C49879AE4447F643360523469B55AFDC459B45634F657AA79918772F2BA9508ACD43C95C16650A1251B8173EBA1B9B59FE8C57F6240EA49A4FE8855CEF0281806A7635BD0C20B28CE3B3B339359E96AF82A6883D9874BB48D8AF586E6FA295BBF8870960A22855883DF1A4E16F9D16DECEC2251255D10D9946AB4747635CACF385D6F2E24C3CD72223FB219B0291A34DAAD7EE22CDA2B1A7B2BD53CC8C3B9795D4A84566A1E4AE0B32850928DC0B9F5D0DCDACFF462BFB1207524D27F442AE77020102041702150C9C14EEFA749DCE9A2A4B7065768767BA48BBB62F

View File

@ -0,0 +1 @@
308202410201003082021906072A8648CE3804013082020C0282010100A8E87254E7F56CB5857786364ACC39F2A0F79FFF8ED6C62C64EE45FC1C775CDDBFD9CBCEF8262DBD2CECE4E5AFECA239B9B4B7D3CBA228366500F5B2203CA6C0CB0AB6698F73921B4831BA598DFA8268A07368A64774C77808AB7CB7978F839304B10567F8C9C34F8DBDB66BB928EDE6327773AA6C20A8F4E9C2AE0C66A0516E057BBC87760CF39270726F1863260CD5ADDAF366318E7029851A6F85B2349DF29629319A3662354DBCAD0789D02AC6BD804C06523900166501041963BD7EFFE0069694A54F4542172A29B1F09D26E3F052AE5274A898058BE549650BC2066DDFDB84D582E6503AF42BCB2B674F2A2A77C54678FD622FFCA2D9718BF8B0525AEF028201005474392A73FAB65AC2BBC31B25661CF9507BCFFFC76B6316327722FE0E3BAE6EDFECE5E77C1316DE96767272D7F6511CDCDA5BE9E5D1141B32807AD9101E536065855B34C7B9C90DA418DD2CC6FD41345039B45323BA63BC0455BE5BCBC7C1C9825882B3FC64E1A7C6DEDB35DC9476F3193BB9D53610547A74E15706335028B702BDDE43BB0679C93839378C3193066AD6ED79B318C73814C28D37C2D91A4EF94B1498CD1B311AA6DE5683C4E815635EC02603291C800B3280820CB1DEBF7FF0034B4A52A7A2A10B9514D8F84E9371F82957293A544C02C5F2A4B285E10336EFEDC26AC173281D7A15E595B3A795153BE2A33C7EB117FE516CB8C5FC58292D77020102041F021D031D7EC405D3E11D031B7B66DF9EFFCC5173B9B1639E4EC920731484EE

View File

@ -0,0 +1 @@
3082014A0201003082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0416021426EBA66E846E755169F84A1DA981D86502405DDF

View File

@ -0,0 +1 @@
308201B73082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0381850002818100D30312B7179661DA4691EDE39A71CB961199CD792C50AED6EA7E1A24C53590B6BCD92F26509D3372B2849A17C99C0962FBE4A2606CA37E6DF10244805363450FFAA24A7C274DF0B5D24AE7F31A8319FD2AA6E98AC6E7E3364E7AEDE575A9993609B0DFA387084141EA0B5B2D59B6DE718C0DAB4F86BC59F0DBE8602AED933494

View File

@ -0,0 +1 @@
3081C60201003081A806072A8648CE38040130819C0241008DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291021500C773218C737EC8EE993B4F2DED30F48EDACE915F0240626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802041602142070B3223DBA372FDE1C0FFC7B2E3B498B260614

View File

@ -0,0 +1 @@
3082018E028181008B333697371663F8869E3EC80A414E46BBAFE41F6D40E754A01ADA60FE7D12ACD16DE311C4115293114F6B92A54195909276380F04BCD4ED5CD993ED7F516DF7A752B928E5035E0D3A1A979A1CDE8387734338793C02001D59B662D4FC8F2BF0EABB1F553F9F46F57E74BCABCBA4E458812DB601FCD04609D435317181236B9702010202818038FBC56751763146BC107ECC59E9BAD3852EBC38799B41B40EF5745810BCF9DCC6D569B7E61063EA358B0DF2A194910029B72A9CFD11AD240681D3F976EDCB18D79C0530AB2944DC1E314C2B520BE23066C802754C19BF2EC15DE0439E2663383CEA5163DC857B6A5F91079F54FB47C9B33F23A9EB6B3FCBA8581524B3EC5C75028181008B333697371663F8869E3EC80A414E46BBAFE41F6D40E754A01ADA60FE7D12ACD16DE311C4115293114F6B92A54195909276380F04BCD4ED5CD993ED7F516DF7A752B928E5035E0D3A1A979A1CDE8387734338793C02001D59B662D4FC8F2BF0EABB1F553F9F46F57E74BC7F3EC6725F2FC0A6155ADCA43CEE7319E623824852

View File

@ -0,0 +1 @@
3081E00281807040653BA4FCD5C66E3318B31E82654C5A62957F68D2EE6AE10BD6678D7A14EEF8EBF0C85F28FE22056C12B2A2DD4E9C897EB2FF06D57DB03B872C049ED2806DC3E4D86F2947D134065AC642F233F95FBCB55C533274FA91FFDC0CEB9E71B8795B71A977C7956001FC19E28DE18A80B20E4AE8F775B952CEEA0DEFEAE8E93D7F020120022B1EC74E9FC5EEA090E8DDF4BDB64861C7DC3F8EC7E64286EC2FE39DA55B4763C582DB48146521BDEF0146D5022B1E559EB15755298408E4E4C6F4791BF075C7A8C9B3C7F5B7FA3E8C322BA0A160C09A9DB6BBC4974BE0F877

View File

@ -0,0 +1 @@
3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A425AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83A7143A775073F0A1D69B6D0B5817755673

View File

@ -0,0 +1 @@
308201B70282010028B1F9CDF87EF6D74F3AC2EA83C17CE376215FB2B3B4817145F1A137FB86B0F7BF0F9BA1BDCF7CC15DF1884DD1B150A983279B90F7A1E4392CB3C16390771DA5668E68621C3898DF66BD254F3787ECFB64B3435E707D5C237A6C09F407D8CD618CC3BBFBAB3DEBA38A0D1A88B2A4E09AE32FF2064EF1896348D5B83047EC2E079D85662EED4A66FBB9C159A617EE3C333BAED66989740F54C3CB336C0EF71130786E70648F2698F4F4192DA06C1578FDB065F8E320EFB63049E4BA664F215924B3E89F69131C5987F357C54593BE173A7AED2D37BE69F90CB574EF83AD49145EB15950FADE9E848DA83BC2CACBEDCAFC4A3B31BFFBBFC4DD03B8E47A218A51410201200256033F9C3F8BDDC021503A687BEC90438F38FF9C0E4C050DD95E46BACA370F478B843611A94BC37B5E838AABFD4ECCCE757BAC967DF8A7DD219B3A71A4DA64D54AB367622B7EB9B4282E898755F02036E91D2A12C81F41025603DB3DE2AE2B52889148C98D68F2B7606B0E5112E60E6A6FF5FD98E5D74143C000B43BEC77082F17C1EF4C82127010B12438D498AAFE8521E21EE6391627D464B54D1BE31F57FFF18C27EC38F08093EA65139A61A2C1

View File

@ -0,0 +1,23 @@
BE5EC2006CFF9DCF52354959F1FF0CBFE95061B5A648C10387069C25997C0672
0DF82802B741A292 07F9027DF7F7DF89
B385272AC8D72A5A8B344BC80363AC4D09BF58F41F540624CBCB8FDCF55307D7
1354EE9C0A11CD4C 4FB50536F960A7B1
AEE02F609A35660E4097E546FD3026B032CD107C7D459977ADF489BEF2652262
6693D492C4B0CC39 670034AC0FA811B5
320E9D8422165D58911DFC7D8BBB1F81B0ECD924023BF94D9DF7DCF7801240E0
99E2D13080928D79 8118FF9D3B3CFE7D
C9F703BBBFC63691BFA3B7B87EA8FD5E8E8EF384EF733F1A61AEF68C8FFA265F
D1E787749C72814C A083826A790D3E0C
728FEE32F04B4C654AD7F607D71C660C2C2670D7C999713233149A1C0C17A1F0
D4C05323A4F7A7B5 4D1F2E6B0D9DE2CE
35FC96402209500FCFDEF5352D1ABB038FE33FC0D9D58512E56370B22BAA133B
8742D9A05F6A3AF6 2F3BB84879D11E52
D416F630BE65B7FE150656183370E07018234EE5DA3D89C4CE9152A03E5BFB77
F86506DA04E41CB8 96F0A5C77A04F5CE

View File

@ -0,0 +1,11 @@
00010002000300040005000600070008 0000000100020003 11FBED2B01986DE5
00010002000300040005000600070008 0102030405060708 540E5FEA18C2F8B1
00010002000300040005000600070008 0019324B647D96AF 9F0A0AB6E10CED78
00010002000300040005000600070008 F5202D5B9C671B08 CF18FD7355E2C5C5
00010002000300040005000600070008 FAE6D2BEAA96826E 85DF52005608193D
00010002000300040005000600070008 0A141E28323C4650 2F7DE750212FB734
00010002000300040005000600070008 050A0F14191E2328 7B7314925DE59C09
0005000A000F00140019001E00230028 0102030405060708 3EC04780BEFF6E20
3A984E2000195DB32EE501C8C47CEA60 0102030405060708 97BCD8200780DA86
006400C8012C019001F4025802BC0320 05320A6414C819FA 65BE87E7A2538AED
9D4075C103BC322AFB03E7BE6AB30006 0808080808080808 F5DB1AC45E5EF9F9

View File

@ -0,0 +1 @@
3082015202010002818100B7FE59813AF3A5DA48144EF03E5D229E3CFB55B0E3CEB63F9F973AC8655651409C3B36BBBE83698516F42A2E0FDC87DD83541697249D67FB5A91FA73470089C4997667811283CF22C74856F1E71129DB70FB23620A60E532B7931B7F93C0B9AA6B9D60E87529002BF2204B743773F501F6C370D067C7B22F6AD9DC07E8097347020111024100CFEA6177386C04D1668C984C39A7F889B36BB2B3BED2C7B83241D267F8D2038529AEB56D82CDE43264168873375C8D1F0897666CCC3F617C2F6B52E5143303C7024100E28BAB645993166EE1A984967AE8839EA41685F1E6392DBEB83EE6CA85A54396505DBD4E5C9024BAFCF27AD24D571DC6A3795CE7F0432669BCE742AF8FAF1481024078C6F402C266595B4F85098370528C2C0309BE93F6C45FC049F6AD987471A979FE215CC41455AA85F5A5B664F59E2F8E33C97C211698D14AD05FC65044F99510

View File

@ -0,0 +1 @@
308202960201000282010100EF8E1C8C8FB330A26C2449F1A50F7BD457D131C66D3194ECA20CE06138CC95CBE32E1DF910E13FF2D74823363286E3461E4BA3037EA32D4728F262C2364692E5948B8577F651292D72EF42445C2AAF11A526D2235DCE172A6E762EB86178BB5B4A06B8736567DB1525C8BDEB7242C81CC9090F5EF7CFC193FABEA3E5B5407E7DFDDF2D557487C65302148969F28DEC68AC3166FD52D44F1DE2EA74451A4BA0508F09E2F4AB85D89E7D68EEE4E8F9BD5A4858BAE8BF36E3A31FF06DDECDD40AE70932ECD09B65617B3208FF203EFBB0D822CDC1887EF343EBECBB762FA9C5D9F9339C80C96D6F3D8E4F7298FF6C94581C3CBC21C8CA94015F2E48400C0556B70502011102818100FDAD5D856662FC0284BEEF8470DC328B3B853F5819F037EBC786EB0225FD5C45B5BF99073F6E6CE31E4D1BC31105A4BAABA3BEC3C28F40E5912E7D3D6E6BE6178164E52F615C65FED1AE61D9D8F858282AF3C59C25A650A9CA72DD2105D95219CFEFEDDEB067647FDBABB659FBF2FF82F33C1A3A8BA73FB5F3D0C5509DFD38FF02818100F1BFA4A7A9506E020F9A57019F4326AE3D974DE9CCEF9BCA284B313DE287378411BDF1C9A1859D9165604EFF2EB1C9A685C0B317A08CF50E5F45AF570EE2C79B35BEA60B38109B4A450E87811CB10D6873F50726248055FE645C5C74FD0482F22CB541D77ED93F8B44CA72C9F550331C516BD061816325F9EF543C4995832BFB0281805184D4DC8796329003CF0EDC79048A12C4C78A1F44D8DE37A5939776A4E19CAA1ADBC4B78BE72EF23F1A5EFFF7377439138ED19D166285D1325CE6C2A7CFA182BDD7B82B2AB63A041C80B17A4D78161C240EDB2D6A494BEB27D28168E02DAE83C50C01EE8384E31111B756DA9B5423A6817F9078E8A750D0DE2CE62CF223601D

View File

@ -0,0 +1 @@
3082013F0201003082011706072A8648CE3804013082010A02818100E16B572E39DB4D90689753D09CEA97B9CAE9C0AF04203AE5BC7FC985B85D5BB50B1EDEA30CAAD003B455640FEEA79E342F3E8CFF6761051B38D6931A2B0FD0DF8E2210E7DA74CAC5DC1A79D80CD8C0F9FC09D81BAEC94E2F3663F25B0140DF6B3D5AD04CBA27BCF24A92963319FB992E39544370FD28642FE07EB17EDA4D47B902818070B5AB971CEDA6C8344BA9E84E754BDCE574E05782101D72DE3FE4C2DC2EADDA858F6F5186556801DA2AB207F753CF1A179F467FB3B0828D9C6B498D1587E86FC7110873ED3A6562EE0D3CEC066C607CFE04EC0DD764A7179B31F92D80A06FB59EAD68265D13DE7925494B198CFDCC971CAA21B87E943217F03F58BF6D26A3DD020107041F021D03BDAFBB087B5A628730212217B01F15B303A0133D6AF4FC3CAF7286A8

View File

@ -0,0 +1 @@
3081B302010030819406072A8648CE380401308188024100B89A4AD4826B8FDDBFE3A6C0F5C8F805B7093AFF9BB2BD697C7D113C236BAC99ABF69000E169575CA2A2DDCDD1C7D9D06C63DCCC880121D933DCF598DD85C52102405C4D256A4135C7EEDFF1D3607AE47C02DB849D7FCDD95EB4BE3E889E11B5D64CD5FB480070B4ABAE51516EE6E8E3ECE83631EE66440090EC99EE7ACC6EC2E291020107041702150268EA4C567B18D0E35B1DA9D517CE5D359CD06779

View File

@ -0,0 +1,4 @@
30818702818100EE9C91E2C1D8B0AB999B3F32B3115A36AA95A36B23CC8507D2340FA21EAAF6F6EB
1B900839CD9F8AFBFC155467F91FD8917DD46EAC55A266B246DFFFEDDDA79D674F77884D34709DB3
452C2C1E2578CCC0CCA91C504039C52762F23F2A391A58B2CAD2DB05666DDF5B9E3C1AC33DB487B7
70C82B7E7DCDEE4381562FCEE427FD02010A

View File

@ -0,0 +1,2 @@
3046024100C339D027E5812ED5D9DE044F3697D0273625E5EA9EC4EF3FB89ADBFA9CD1FBF4D8C0EC
1118C44609F499EF644EEAECE2F38B3F67FAC81A075F31A60B5757A87D020109

View File

@ -0,0 +1 @@
3082015B0201003082013306072A8648CE3804013082012602818100D57B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3CEB3A7BBC4269A384ED9A296160F12BC666066548E28201CE293B1791F951C8D2C5965696D82B336EFADCF1E0D619EDA43DBB86415BF3EE6F721C0AB17E770EA7B2360A054D3E4E878647245FCF87B2335098303004CDDC2B9DCDA57DB51021D034E48F160EC5855CCCD9F995988AD1B554AD1B591E64283E91A07D151028180017324ADC1F93CF002FA2B0619C60F897CDED488E457685625E1565377483C0FA4A7FD1CAE848C727E76654434CE3CCAF81EC6E6AAA156EEBBEA095F642FD0DA2D043996ACC14A1B1A6110B19C094638E29890B89AF5812E97C5F96F33B1FD7415079947994442295CA34447807662FB70621F069A98AE274D01B2777BF4E97E041F021D00F9F02A2BC1930F1AC93198F3D532BC937941D7C9A1E16F0EB932476E

View File

@ -0,0 +1 @@
3081C70201003081A806072A8648CE38040130819C024100E64283E91A07D10F557B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3FB921690D2FD1339F8E1DD406EED70D7EE3085E3AADD02150F4E48F160EC5855CCCD9F995988AD1B554AD1B5F3024062503DFB092F0FD0D8BBD90B50A834A6BD5B0995BCFC1CC8C8C83103AA6837F3FBFF3E042E1B25E36963DB2FCFD7AD24A6626E65A1F6EECBB399F5CE73659F29041702150450A037413E9A711E601318AF21D32A498C0C501E

View File

@ -0,0 +1,9 @@
00000000000000000000000000000000 00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886
00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF
CB14A1776ABBC1CDAFE7243DEF2CEA02 F94512A9B42D034EC4792204D708A69B 225DA2CB64B73F79069F21A5E3CB8522
86EDF4DA31824CABEF6A4637C40B0BAB 4DF955AD5B398D66408D620A2B27E1A9 A4B737340AE6D2CAFD930BA97D86129F
000000000000000000000000000000000000000000000000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 97778747D60E425C2B4202599DB856FB
D158860838874D9500000000000000000000000000000000 93A953A82C10411DD158860838874D95 4FA0E5F64893131712F01408D233E9F7
791739A58B04581A93A953A82C10411DD158860838874D95 6761C42D3E6142D2A84FBFADB383158F F706BC0FD97E28B6F1AF4E17D8755FFF
0000000000000000000000000000000000000000000000000000000000000000 62E45B4CF3477F1DD65063729D9ABA8F 0F4B897EA014D21FBC20F1054A42F719
FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227 1344ABA4D3C44708A8A72116D4F49384 458335D95EA42A9F4DCCD41AECC2390D

View File

@ -0,0 +1 @@
3082011E028181009A21FC66469293103CEF66960B17880F905C738DB692B7481922FC2D454D14067C6BFC158B93FCC1B8D128D4D86D893082F8A3592238EE8B693B6245F26F55968D7D13752D6BFBA271E8E36E11482815D887BB9F6B600E820E7E2AF2EE6ECDBC1CB35B12A4EF48A8907C090482DE7D49B751BB3A50F78BE29506114BC85D3A6102150C896422EC558A74B883BA85E2F10D4A58F28D2B09028180350C4BB19C0A9B224E5E1BACCC1B1952A97628021B4673831C851C3280F06D3EFA73DAE27E5D4E4A0499E0B2B9A369649E883A1F260EF250B5CCF3E3C922332B210EEA07D3BF92210BA7A7374A30DDDE3D1B3D575B77CD36B001EAE4A2A3BFAFF12FCE74F3330B30ACF6DCFF580ECBFB5B00FD5DD2B8EA9DB09C7E1C7100BD67

View File

@ -0,0 +1 @@
308202280282010100A5C07CE5BF0894C0BA8752F4D9A6D0BF6556D325B618A655CCFE3EEC85B56D47DBDF5A9A5C8588AE6F4C44BBCB339E869A21BE057A243DC797B912C547FBA359C4FC9965C72278370AB6C0DD246197A8D83A08C69425786482D1744C41FBB3C36BEA5963C05B0778AAEF9230C3E2E12072268038E5ADB6433542F94D8C25A6A1785E4D2D97AF119F2139E69AECA46F11B344785A0B1B280CF8D678AB9627780271A350A9B15B92E105F14733C5F15C1753F7C48A645FAAAC1BFA266B5AD6F7C46350465DA31150ABB10FF63FD6C01C849DFCD5645C5D1AF8B967372449DF90D02177E12439BD36A1EED1FAEDB8166927F755B71A5368CC27CD00AB5CF04601E7021D03134944D9AA15697107F48AC5621A1531649AD5EE8EEC1D1F282B5481028201003468652FBB1E3C7F2FBB99A89EA14FB9205F534943034CDE9D9CC57A790D9713EC7B21032EAA8ED2B24FFABD612EDADFC9265964C753AE276380294D4D16C63389A4C392A0058EF1549F6C0D13C4A09759C67650A51F7362B38C61AF2942A6004BB8C3CD4C489E66DE1567E2306821788A519727CD27945DBC5778AC6E8B1DFC05573D76DF9E9AA4F1CE657A2A07BEF833091614C0A6065507BD51099C54148327903626DE6D01FEC9A7F5F9A901C90E219D452C2E2A90AA2303A52776EF174CC85C1AA4F28924B1DFF3E3C5538D820A422374DCFB0D14D620AE282A72416C6506F02D3ED1E6208F66B9DB49294D8D605D7D146BB6A970211289B1BE7AB12531

View File

@ -0,0 +1 @@
3082014C0201003082012C06072A8648CE3804013082011F02818100F89F4EBE58E222B517D218D615BDC00611501CD18417886BD3FCBD22578C4611B1E8C06EB0FE9D473A5589BC277AA58C1979DC2869B728D78EC38B4C044A790A60314E7BD3DFDC0BBD8B770A9271D7D048F3E13C73866D096C7304782125847C70EDD721B36F1C379CF7CCEE0A728DD66336ED5F93E8A1BD3EDB22C8761EB987021526A578AB11C3A0812A636D24D120BE544B7973E4D302818100BF927ACE4D175A44622494E37F9552E97B74303321FFEF9B76CDECB14F7D612608DDFEA77C04A8FCACCF7F16CB01AE05AD5EDB65C3B9A380D720F34C7D96C8817E2EFF7D0049EE149DF61C52D7C80271206155CDAEBC8A7F4A8DCE5196E3C18FD5EDF11A394C43A5D59BC65D976817438CA0A7F01713548F61355E976DE75E1E04170215247B2531CFF01D1B1665F0CFD2A836446798353330

View File

@ -0,0 +1 @@
3082025D0201003082023506072A8648CE38040130820228028201010083C69F32A1F3A67B201D7A92BA204281681DAAD29F50BD866D70A2E01438653B18602AFE606AA925389381682EC0E2CE5D5D366793917879860799ECEDDB4831ED4A4E76D9C34FFDD0BC786588F00E8A19705B997C4298F9CAF9AEE46E0A5677AA1240DC141BD78A8720A829F64C912FA3D961ADE698C5344F18FE4CE70CF7B94F45258C6A9553830FFB80B6BB7E1C510D4526C1904C1D6E2F1B8C1CA6499DBD291438717131804FA2F5F42E5C06293D6DA493C88A38EBC6A6DCF40B2BAB0BF7C7FA0F9C070F1C48FD12CA2B7337E9C58EB9AFDAC6FEEAB0BD62415B26D405D6BF47F11D70B1740BC398A76BE70723A829082EB548D35F4D78E4E015DAD12D5B021D083118E4DC11622CB53E7E4D7634BFBDE45A2D8F8B097A251803505315028201005BAC6CBFE089F75274A532564735786477478F19BE099AB38E0F843393D6D81964CBCFF4B68C5DA2614F06BB844672288F0A65216954990051BA691CA6796AFAAE91A79350F53D9DF3CC688387306EFFDCEF70A14A672E2103B8C861523703157D05DF6EB42DCD81506C88300ED8D8ED40D41AB6D669D309C976B84D82C8D18747578358CBA1EF4B00118B0DEEF11409DD8CB0D83399A33E10C18249574FA2242AE4241CD789C891FEC1C63771EE4517274493240EDAAC44AEDC42F318A5122B052244DFA9A282B8D94BC4BAB360D44E4D0204F8D28817B5B6F808047C92032AA94926D697CFA2FC211FAAE26A5F1FC2B1EB03DA68AD5E01EAC489FB64A66EA3041F021D042ADA16929DA18A7A3C8FDCDD8FC46A6D8AAB79FF33D60E2BF09DEF4F

View File

@ -0,0 +1 @@
3082015202818100D132EDB1360E31D7B8DD84BB03111FDE0243FFE4031ED12B440E7FF36A634E57772EC81FFDC065607494717C6E16A5AB642283553442CC22569535C7A20E3D1C3E2B3747B26E9856D4A13D0325DC116DAAF8554B000321A753E5CFA730CA60F3E3FE2CA9750C6734A2A113AD4A76B6DAC5E199AB55F34CE6984BF56F6DFAC51D020105020102024100F90CBF726FA70ACB5074BD8E79932B74E9949057B627ABB29F41E5057AE699A03BC240EBB9637E956ABC0B6A20F633F78168A908086E2011FC5D030B9B94B51B024100D7097ACACD8BF8ED641A7D8A17A23F8FB385B92B760EEEB9A1233E1D25892F742315DE23DA0751F24EAE4C0C5B696D0AA0D16EAE94194193DC89D479A9626A2702403B5475CD2A7F519EF08433407826D89983C104AF1E74B44B79B31770149D224089300F828E0DF4CBC864BDB394C0F32CCF055F7B2B8872BF0B5F148020637B9C

View File

@ -0,0 +1 @@
308202970282010100B8F2A74040753A7706CB98B80DD9EE33FB7969FCA65A2025E96853267AEF80ABB184FE463B9475F5166307FAFA988F6CA4BBC7122E9555755191AA408BAF4464221394342104ED2762EEA4FED8B5CDB4234442AB979A487446AB37C4A4FD67C259EB942E28B50DD54F3AA14447931821291D4C21BB8BD58C41302F3E1D2E6FF84F84AACEC02196282C492E0354985A66EBA50B1903EDF70D98BD9837E694876505760C58C186F0B5F6500711500297956C9825EBDCCF90633239484F9A3572271D3CD585BFC195BED0D5FFCABE785B25BFF6ACFF2B7C125D54B26CFEF60B1B077B2F953960DAEB57F102B6A1E30AA88B643090BC4D8971077C1B54EA61E4E45102011302010D02818100D02603BBFDB55F1063DFCEBB4CA32F551330E0F2901D87DF2A395EF6AF340F6352CE3514FCE85705652DC6BD401CD0D5D13855B124DA172D5183A7474B85B683AA03382775F3D8DC600F33E696246F9F2134E2DA061923F47B85A923EBB375B07DE3B43EE4FD71D3E24B4B416DAE6E4C2B6D32A9B45BF04296AECAD60C33DA0702818100E3773B5D8B828BEA922392100C54CDF41D0CD26B4C34A64F483B7975AB35920DA0E3F6AE238E72E26F8A498D9AD0C4A75C52F25421E1E2E3865ADD1A0FCEA4DE932DBE6EBEFA689494855B11714B960F57C5102C0E8876D253ABA8C2D6A511DBC0F30589A0FBE66AD6BCEFDFC4F67F8347726A52736274B7F744ECACFF6198E702818100BF84B25DB607930F80ED57C7AF89E7604B7E8E0D341C9C4A0C94FFE6D4B38810553B1E92F7BF9651D3D0149A9188E1FFD1FB86753A327ABC6169AF92271E7204A2C76488FBC781984BA99C3C48C8A799054DA34A201743C3064B4609831B35FBA2B8B1BC67FFD0C685DBA92FE688AD51D1F161C06EC0B9E0D0E187863BFBBEC0

View File

@ -0,0 +1,48 @@
08
3F
00000000 00000000
00000000 00000000
ebb773f9 93278eff
08
40
ffffffff ffffffff
ffffffff ffffffff
278b27e4 2e2f0d49
08
40
30000000 00000000
10000000 00000001
30649edf 9be7d2c2
01
40
88
00000000 00000000
61a8a244 adacccf0
07
40
88bca90e 90875a
00000000 00000000
6ccf4308 974c267f
10
40
88bca90e 90875a7f 0f79c384 627bafb2
00000000 00000000
1a807d27 2bbe5db1
10
80
88bca90e 90875a7f 0f79c384 627bafb2
00000000 00000000
2269552a b0f85ca6
21
81
88bca90e 90875a7f 0f79c384 627bafb2 16f80a6f 85920584
c42fceb0 be255daf 1e
00000000 00000000
5b78d3a4 3dfff1f1

View File

@ -0,0 +1,5 @@
00000000000000000000000000000000 0000000000000000 21A5DBEE154B8F6D
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D F7C013AC5B2B8952
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 2F42B3B70369FC92
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 65C178B284D197CC
5269F149D41BA0152497574D7F153125 65C178B284D197CC EB44E415DA319824

View File

@ -0,0 +1,17 @@
00000000000000000000000000000000
00000000000000000000000000000000 8FC3A53656B1F778C129DF4E9848A41E
0123456789ABCDEF0112233445566778
02132435465768798A9BACBDCEDFE0F1 524E192F4715C6231F51F6367EA43F18
000000000000000000000000000000000000000000000000
00000000000000000000000000000000 6cd61bcb190b30384e8a3f168690ae82
0123456789abcdef0112233445566778899aabbccddeeff0
02132435465768798a9bacbdcedfe0f1 688329d019e505041e52e92af95291d4
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000 8f5fbd0510d15fa893fa3fda6e857ec2
0123456789abcdef0112233445566778899aabbccddeeff01032547698badcfe
02132435465768798a9bacbdcedfe0f1 c8241816f0d7e48920ad16a1674e5d48

View File

@ -0,0 +1,9 @@
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A
00010203050607080A0B0C0D0F101112 506812A45F08C889B97F5980038B8359 D8F532538289EF7D06B506A4FD5BE9C9
14151617191A1B1C1E1F202123242526 5C6D71CA30DE8B8B00549984D2EC7D4B 59AB30F4D4EE6E4FF9907EF65B1FB68C
28292A2B2D2E2F30323334353738393A 53F3F4C64F8616E4E7C56199F48F21F6 BF1ED2FCB2AF3FD41443B56D85025CB1
00010203050607080A0B0C0D0F10111214151617191A1B1C 2D33EEF2C0430A8A9EBF45E809C40BB6 DFF4945E0336DF4C1C56BC700EFF837F
1E1F20212324252628292A2B2D2E2F30323334353738393A 6AA375D1FA155A61FB72353E0A5A8756 B6FDDEF4752765E347D5D2DC196D1252
3C3D3E3F41424344464748494B4C4D4E5051525355565758 BC3736518B9490DCB8ED60EB26758ED4 D23684E3D963B3AFCF1A114ACA90CBD6
00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 834EADFCCAC7E1B30664B1ABA44815AB 1946DABF6A03A2A2C3D0B05080AED6FC
28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E D9DC4DBA3021B05D67C0518F72B62BF1 5ED301D747D3CC715445EBDEC62F2FB4

View File

@ -0,0 +1,32 @@
30820274020100300D06092A864886F70D010101
05000482025E3082025A02010002818100A39D4F
72D1BCFF65A47545C2897C0464CE9181E8703421
2EC04407C4C24D569AA20C58B8138C85E17510BC
6B861CADA9034C3ECE3B050B546E97D2BDC07A07
CF8A612F7D3646739633041893EF18C411264E45
C9E033A1BD5EE5FA02D95E9A9ADA2D0C6DF480E3
2FA3FCE02889798455CE53F084AAB4C5549266F7
CE8C77DF1D0201110281800E6FC33ED64561D443
378627C0D63C9F7BA36D584622B7A23E241ECD98
AC78952C6A804C7A320BD020EAE372E62FB4F853
1D50D5F6261796823A929845B06A19B35A5227CB
C819852A9CBE588CC2D1CEE07F426D13C2BF2FCA
1C99FDEEFDFE387859E2B3F654E85A71481A71E9
D5256583B1200F29C1AA0F437CFDC2AEAF218102
4100D5DDB104AD074F6C1B8192D9AC8AED4DE05C
F5C6509490DA8CCFC91FDF7B3A1323E03894DCAA
B2587716D652A56904F86244E10C1B8FA597C389
2591C55DBD65024100C3D930B583B8AD9A349218
795C988CF0004F09DA04FFEF6FDF7CB4FA654F74
B262521FE185693CD6290A337589F62CDEECE24E
CCB5E79865275540F3B603FB59024064A48F89BA
D6437E2B0FCCA2AB8CABE86995285D5318BCA315
167CC3B47639726B3C56DCA41417B128FBB026E4
6DA7FC6A7AC441EEDA2FCEF29AE480D5594A1102
40228FBD4D355CD35772B05EAC014818DF0F1D01
BD0FF0EE04AEF7E3B3B7867E015CA514AF53C746
F89DD49FAB5494DABDED9159332F28DEA8705A56
C198974A79024100D1DCA40FBD19036F0E2A9438
7D03C090DDF0A677CDE0B8634A81F247752A355E
C1CEA2482A4887767145C2BA703C9C10228FDA1E
BB2EBEA73D23AA9C34182179

View File

@ -0,0 +1,61 @@
308204BB020100300D06092A864886F70D010101
0500048204A5308204A10201000282010100BB25
80EB6B368287A0A3BDDF6AAA9EDA2EEF15D92C5F
E0B1C21473175C39B685A6FB0B0DB611092C19B4
FA3CA5BB20F311E35B2E1097F48B077DF7684BEB
9A34EB78C7B5F02ADFAEA3F3A66F1EF91B0C47DE
68F0501F80A7E9603F794E928949F152C049A011
D7E58C72F9303781E4FE7129DD7B87B5448D440A
62CE8E9C801F245039E2724A9C37CB17457950B7
B3C4C9BE4D17A29EFC1EA1EF464FBD21DABE9F10
ED0EB132405D68E4304008083BB675DA97CB6219
147A1EB93D38A9C4023540F871272A85B45447B3
6DE9A708E412CD31B1CB6470E4A37CBEA6000F36
632DF86FD3C34466C63BD80F1350E4DD5081597F
F34F94F07AE6430DCC0563B1F7CF020111028201
00034D763A5DC03580E33616ED5ABABA855B2E62
4495DD8D002009656B5473772C85F55F10CE81CE
77BE31E04657410B1F6535B4CF1E6914E152F4AB
84DA2FD409F81BBB3DF0A96A58EACC9501F60162
5C1356BF97D139C78A7E18496708EA7DE7B47266
C81363B3FF888085E7403A028901FF3BA04C2EDE
930EC0EFAC4DCF8FD054C1119562A1C7CA455D79
36CB95A16CE611ABC97918961DE6720CE171CC69
A590E9A041EC1DAC6FDCF2E04946C100E03DEFCA
29FF480C926CD48589EB832D4476CF38AB320754
D97BE77FDB9E5F2DCA1A2ABBC33D0790FE8C22CF
694BB8E0265733A5A17CC5D07DB54515DC80216A
A23A43EB12783888FF424EDB26FAF7DCB9028181
00EB4C87F67AEA3F2047BF9DF61947DF2BA7E1C1
64A03A8E3ED5F3BC6CDEE99FC6251C6A28F9502F
0A4B5A0CFA8038A12A2270AAE2C9342EDBA207CE
0F170B6D07550670CFEAE730B9411E66CD2D485F
3FC3E9C5348D32C768F68A53C756E66BE0FAC7E8
FDC9FBE22644961782DA5DDC19D75B64D2E8B660
052DDC95AD186633E902818100CB9C7830223B78
FC28A6D2B77C50C3D389F32FC4DEF33341741205
5102F8D852663DB44E1EA5E5E58A71D30D33C168
E94855D79CC19CC7DFBAFBDFF7710490064A1375
1CD75466219956B9D4C0AF0CC13E7D075F54E6AF
8CD67FBE3F4AB90425B039410686A168421E2E24
FF0319D9D3F1C685BB650BC7B5BD12090CBDC392
F702818060E3470B238DA185C330C89282E15BE4
CCA84092D89094ECB2736BB45BC99C2469A249D4
A2E4C8134C34237634CC06206888BED5DA60C800
158ABE4272E6964E502FD41960B98C888439B1DC
039645567DD8BA9D2B14E8B2BFDE9AF7BA5EE120
674341D1E9C211D385A736DB871796DD76CB47A2
239663C5E5B52E9291937EC902818053D704500E
187D1C8935A20F514E6EC08418D76F2EA060663E
DA3E6CA6DEEFA97564B3A7B2444F9AC08938C933
6DC1C9782358C8137CCAC5893A8965E33E1D2FC4
262129FE4FEDD1997E10488B935F9ADD7EC6CCE6
B957581C167B83791F01B52A71ED99467EB27593
F4E20EA6EC86DECCF7643E1A8C614AD561C77DB7
8CC40B02818100AF950A287679E6C55020400E8A
AD0642DB1C11D9AD5AE85F1B6FD2829D869453C9
F67C0210D0847A4BD47C57FAECD9BE540BD66989
E6C43F62D725B3D841B4F1DB7C28A722337358C8
D1CD55F5CA6E31FAD6F827756BA074944D345C8D
2FCE759F4244B948D06F5AC863DEAAEF279B2F69
955ADAD1F39DEA9DA028B94EF22F11

View File

@ -0,0 +1,10 @@
30 4c 30 0d 06 09 2a 86
48 86 f7 0d 01 01 01 05
00 03 3b 00 30 38 02 33
00 a3 07 9a 90 df 0d fd
72 ac 09 0c cc 2a 78 b8
74 13 13 3e 40 75 9c 98
fa f8 20 4f 35 8a 0b 26
3c 67 70 e7 83 a9 3b 69
71 b7 37 79 d2 71 7b e8
34 77 cf 02 01 03

View File

@ -0,0 +1,41 @@
30 81 fb
02 01 00
02
33 00 a3 07 9a 90 df 0d
fd 72 ac 09 0c cc 2a 78
b8 74 13 13 3e 40 75 9c
98 fa f8 20 4f 35 8a 0b
26 3c 67 70 e7 83 a9 3b
69 71 b7 37 79 d2 71 7b
e8 34 77 cf
02 01 03
02
32 6c af bc 60 94 b3 fe
4c 72 b0 b3 32 c6 fb 25
a2 b7 62 29 80 4e 68 65
fc a4 5a 74 df 0f 8f b8
41 3b 52 c0 d0 e5 3d 9b
59 0f f1 9b e7 9f 49 dd
21 e5 eb
02 1a 00 cf 20
35 02 8b 9d 86 98 40 b4
16 66 b4 2e 92 ea 0d a3
b4 32 04 b5 cf ce 91
02
1a 00 c9 7f b1 f0 27 f4
53 f6 34 12 33 ea aa d1
d9 35 3f 6c 42 d0 88 66
b1 d0 5f
02 1a 00 8a 15
78 ac 5d 13 af 10 2b 22
b9 99 cd 74 61 f1 5e 6d
22 cc 03 23 df df 0b
02
1a 00 86 55 21 4a c5 4d
8d 4e cd 61 77 f1 c7 36
90 ce 2a 48 2c 8b 05 99
cb e0 3f
02 1a 00 83 ef
ef b8 a9 a4 0d 1d b6 ed
98 ad 84 ed 13 35 dc c1
08 f3 22 d0 57 cf 8d

View File

@ -0,0 +1,35 @@
30 82 01 50
02 01 00
30 0d
06 09
2a 86 48 86 f7 0d 01 01 01
05 00
04 82 01 3a
30 82 01 36
02 01 00
02 40
0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0
c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51
d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17
01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab
02 03 01 00 01
02 40
01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e
a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0
1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa
87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81
02 20
33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f
bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61
02 20
33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67
38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b
02 20
04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af
ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41
02 20
15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79
81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59
02 20
2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae
92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d

View File

@ -0,0 +1 @@
3082014D02818100BECF1F40456801F6965E603BEBB61F530F0B17BBCB00E3A8866EB9BC84AE3892A4CB040280F568FC650B1734014CA78A200D5E4AB394CBB75C0034DCC47643E6F576A39F850C5F4528048165B084C82E9BA6BA4CFBCB3980F1EB47EC2C348EF52A6225A85AF743DFCEF5CD4583EB0B9C0DA77ABEBEB5BCC513D81BD768B579AD024100F06CA9C1FBE20EE2440F3AB2F9A9787D820943EAF59B6B8D103CFAB1C2F595DDC99D05DC73F9D1DB780B6F8B26CF87E58EB870DD983A2515600DF80C3EBB7B1B024100CB2B9BDEB0D508E21E646C86D836442FC16910D68C8D1D18BB1327899A506C16C1162E93EA7C2CB576B750AEAB152255D5AB22632025CFFAD927A070CBAEA2D7024100C90A853BEC7C25D773FDDB95C11CEF9BB3F487953773F07E42DB9D011325AE2725663478FB7F0EC1A5608280D9656BF3B9F463FF8B23F1CA1B543508D51826E2

View File

@ -0,0 +1 @@
3082029002820101008F2975B4DA54179A6C81764DB9E6B50AD925C91568DFE2C245DF9103AF39370BD5F25CD26BF6E41B6FEB0E24473BBFAE89343BC20743057B056BD2189C01258650567A3EC24040EED7EEAF94B77BDD39529807D1FCF5FF4A90E6B42BA58FF1FDCDACF981C641B8F077ABBB41BEFD53CCABF06745CD009A7F9DFAA61ED03F11466E4B5370DFA18C7DFEA1689B60F98012CDE9131FE86F74BFC6B93AC449DA73A2366EA2AE2233AFFBFF0CDE1899B1F852C179639B31CEE11991AA8D46DB5067B0C5FFB3D913612668F0C43CA134B11875F271C0BC8722AF4AD6CC93A43CE165EF31C1EB542ECC7CA1A38BFDF66F3A2175E4EA7159E168FFE3A549535B90C7BBDD02818100C5CEBA84E8B7C20BAA6F450000803F15C1160EB7E0875EBBC15F11DC7E3CAFE55973234FF4C74589406D2950B0C236ABE1B5A5B70D55C035F45D87AF089847C0E2A2DEF23EA4CC19FB5419DF43577523248BEF80B94C59F7342C717F12DE68FEEADAD97BA2DD436834D8559D0A7A31D6F9D9480F852C285EFC75BCA8AF32590302818100B947440D272629155C2B3E0E62B76124281155F7A189650D36C8F7D742F7DBC571ADDCC582ED2ED283C2E8A1CD8C996D3D8A50F33C56581285C5016A16DEDA533715DF519CAB7777F3DCB9F5335552F315B44FF8126DFDDF60B66850AA8FD108ED3A248D18E7473D7967F0F15C740C67476A75273DA254AE5C7B94FB059DD19F0281801EE99173837363981E0988DE22B2E36BFC9713EDC8454BF1CB764D767DFDA985B9DBAA346C0C39B1A9F83D849502AFDD80AE33F588C114BC4DE5FA949125FF56908F8C66CDFF6BF601F1CBF463B0C807DEABB1290C358FC0433ED74EBA074CB211C4D75538ED017F497C9722D8C3D3E082BB4A8A92D5768B5D5963BBDB1DB24D

View File

@ -0,0 +1,16 @@
0000000000000000 0000000000000000 032808C90EE7AB7F
0000000000000000 0102030405060708 7D28038633B92EB4
0102030405060708 1011121314151617 71E5CF7F083A59C5
0102030405060708 18191A1B1C1D1E1F 356F702CC7FA8161
08070605040302010807060504030201 5051525354555657 38E64DBF6E0F896E
08070605040302010807060504030201 58595A5B5C5D5E5F 7D8F014A902480FE
01020304050607080807060504030201 6061626364656667 113511C22E7936DF
01020304050607080807060504030201 68696A6B6C6D6E6F 9EEB2D17C0581437
0000000000000001 7071727374757677 9ABE2C85BE2D7614
0000000000000001 78797A7B7C7D7E7F EBC4A9C6C25CF215
0102030405060708 8081828384858687 54E72BA2D744C566
0102030405060708 88898A8B8C8D8E8F 57F55D0F7EB6F8FE
00000000000000010000000000000001 9091929394959697 9EAA4DF1E0EFF445
00000000000000010000000000000001 98999A9B9C9D9E9F 4CC14838399E532D
01020304050607080000000000000000 A0A1A2A3A4A5A6A7 41246B65F1DC6AFA
00000000000000000102030405060708 A0A1A2A3A4A5A6A7 5CBD77B03626FE3B

View File

@ -0,0 +1,12 @@
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f29273d78e b2288b968ae8b08648d1ce9606fd992d
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f26d8c2871 563a8403ff5309d62370b1dcf5a11edd
ffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 d5baa00a4bb9d8a7c981c8dc90d89d92
ffeeddccbbaa99887766554433221100 145f0b8b663176b95dcab7e9dcd5cc24 1032547698badcfeefcdab8967452301
80000000000000000000000000000000 00000000000000000000000000000000 264E5481EFF42A4606ABDA06C0BFDA3D
000000000000000000000000000000000000000000000000 d29d576fceaba3a7ed9899f2927bd78e 130e353e1037c22405e8faefb2c3c3e9
8899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 da860842b720802bf404a4c71034879a
8899aabbccddeeffffeeddccbbaa99887766554433221100 b2696bd0d98c17953e4239225d27202c 1032547698badcfeefcdab8967452301
000102030405060708090A0B0C0D0E0F1011121314151617 4528CACCB954D450655E8CFD71CBFAC7 00112233445566778899AABBCCDDEEFF
0000000000000000000000000000000000000000000000000000000000000000 92074732d84e1841a013a0034c52bf50 81c4eb7b8ad9a8d0f2aa5d7bd626b560
00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 93df9a3cafe387bd999eebe393a17fca
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 3DA46FFA6F4D6F30CD258333E5A61369 00112233445566778899AABBCCDDEEFF

View File

@ -0,0 +1,14 @@
80000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE
00000000000000000000000000000001 0000000000000000000000000000000000000000000000000000000000000000 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001
00000000000000000000000000000000 8000000000000000000000000000000000000000000000000000000000000000 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E
00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6
01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 0101010101010101010101010101010101010101010101010101010101010101 C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826
02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 0202020202020202020202020202020202020202020202020202020202020202 CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF
04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 0404040404040404040404040404040404040404040404040404040404040404 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586
08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 0808080808080808080808080808080808080808080808080808080808080808 A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C
20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020 E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4
40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 4040404040404040404040404040404040404040404040404040404040404040 C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2
80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 8080808080808080808080808080808080808080808080808080808080808080 C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A

View File

@ -0,0 +1,7 @@
00000000000000000000000000000000 0000000000000000 214BCF4E7716420A
000102030405060708090A0B0C0D0E0F 0000000000000000 C76C696289898137
000102030405060708090A0B0C0D0E0F C76C696289898137 077A4A59FAEEEA4D
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D 6FF33B98F448E95A
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 E5E554ABE9CED2D2
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 9AE068313F343A7A
5269F149D41BA0152497574D7F153125 65C178B284D197CC D3F111A282F17F29

View File

@ -0,0 +1 @@
11223344556677889900 aabbccdd00112233 00d3127ae2ca8725

View File

@ -0,0 +1,8 @@
00000000000000000000000000000000 00000000000000000000000000000000 3C00428F8ABBC0B84F057CC19C26F8CF
000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 FF596FA668BFC3014200AE01E2BBA0A0
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 7C3491D94994E70F0EC2E7A5CCB5A14F
000102030405060708090A0B0C0D0E0F C76C696289898137077A4A59FAEEEA4D 88C6FF4B92604C6E66656B02DDAF9F40
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D6FF33B98F448E95A 3388801F66E7FCC0BCE522A23A4F0C7F
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952E5E554ABE9CED2D2 A1C0E9215141343DEC2B556942C92BDE
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC929AE068313F343A7A 3FBE6811B998CDF3E50ABDE2F3C075E3
5269F149D41BA0152497574D7F153125 65C178B284D197CCD3F111A282F17F29 D7B7209E0879744C782809B6D2E0B1B0

View File

@ -0,0 +1,9 @@
00000000000000000000000000000000 00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A
00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419
9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3
D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 6363977DE839486297E661C6C9D668EB
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 EFA71F788965BD4453F860178FC19101
EFA71F788965BD4453F860178FC191010000000000000000 88B2B2706B105E36B446BB6D731A1E88 39DA69D6BA4997D585B6DC073CA341B2
88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 39DA69D6BA4997D585B6DC073CA341B2 182B02D81497EA45F9DAACDC29193A65
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 57FF739D4DC92C1BD7FC01700CC8216F
D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F 90AFE91BB288544F2C32DC239B2635E6 6CB4561C40BF0A9705931CB6D408E7FA

View File

@ -0,0 +1,81 @@
Test Driver for Crypto++(R) Library, a C++ Class Library of Cryptographic Schemes
- To generate an RSA key
cryptest g
- To encrypt and decrypt a string using RSA
cryptest r
- To sign a file using RSA
cryptest rs privatekeyfile messagefile signaturefile
- To verify a signature of a file using RSA
cryptest rv publickeyfile messagefile signaturefile
- To digest a file using several hash functions in parallel
cryptest m file
- To encrypt and decrypt a string using DES-EDE in CBC mode
cryptest t
- To encrypt or decrypt a file
cryptest e|d input output
- To secret share a file (shares will be named file.000, file.001, etc)
cryptest ss threshold number-of-shares file
- To reconstruct a secret-shared file
cryptest sr file share1 share2 [....]
(number of shares given must be equal to threshold)
- To information disperse a file (shares will be named file.000, file.001, etc)
cryptest id threshold number-of-shares file
- To reconstruct an information-dispersed file
cryptest ir file share1 share2 [....]
(number of shares given must be equal to threshold)
- To gzip a file
cryptest z compression-level input output
- To gunzip a file
cryptest u input output
- To encrypt a file with AES in CTR mode
cryptest ae input output
- To base64 encode a file
cryptest e64 input output
- To base64 decode a file
cryptest d64 input output
- To hex encode a file
cryptest e16 input output
- To hex decode a file
cryptest d16 input output
- To forward a TCP connection
cryptest ft source-port destination-host destination-port
- To run the FIPS 140-2 sample application
cryptest fips
- To generate 100000 random files using FIPS Approved X.917 RNG
cryptest fips-rand
- To run Maurer's randomness test on a file
cryptest mt input
- To run a test script (available in TestVectors subdirectory)
cryptest tv filename
- To run validation tests
cryptest v
- To display version number
cryptest V
- To run benchmarks
cryptest b [time allocated for each benchmark in seconds] [frequency of CPU in gigahertz]

View File

@ -0,0 +1,3 @@
305F02160559DCD66A95A57249A15BAD6B431BF2CD58615B901D02153365CFA0D3B1B6577B2DB243
DDE45EDB91C18B0F5F0216032F4EBA0911B3D0B14F6F1292A74DFFD4A8FCF22C1802160211CB3EDA
809FA0FF8C3A8AE691EC4C95A06A3395CF

View File

@ -0,0 +1,5 @@
3081A6022B28E3FED51D3D861D962B0A16A92ACDB380ADAFB478CA555004C3AF387F853F9DE9921C
7DCB40098D25C757021D03094844F135A3A50049A848C3FC02412FCBED6040FB1BDE99A4D93E3B02
2B13F411960B85F9B031A247E072046892B1EE6C95A47242A839F8E24B96B88F37B4BDA2C6D253BC
0AAF29F1022B0D2AFE639D324E558B2B312E435E03957769D745C881D259DDFD2F48F9C08F82ECCF
F4E7ADD47C705896D0

View File

@ -0,0 +1,76 @@
Test Data Format
A test data file is an ASCII text file composed of sections separated by
blank lines. Each section is stand-alone and independent of other
sections that may be in the same file, and contains one or more tests.
A section is composed of a sequence of fields. Each field is one or more
lines composed of a field name, followed by a colon (":"), followed by a
field body. All but the last line of a field must end with a backslash
("\"). If any line contains a hash mark ("#"), the hash mark and
everything after it on the same line is not considered part of the field
body.
Each section must contain fields named AlgorithmType, Name, Source, and
Test. The presence and semantics of other fields depend on the algorithm
being tested and the tests to be run.
Each section may contain more than one test and therefore more than one
field named Test. In that case the order of the fields is significant. A
test should always use the last field with any given name that occurs
before the Test field.
Data Types
int - small integer (less than 2^32) in decimal representation
string - human readable string
encoded string - can be one of the following
- quoted string: "message" means "message" without the quotes
or terminating '\0'
- hex encoded string: 0x74657374 or 74657374 means "test"
- repeated string: r100 "message" to repeat "message" 100 times, or
r256 0x0011 to repeat 0x0011 256 times
Field Types
AlgorithmType - string, for example "Signature", "AsymmetricCipher",
"SymmetricCipher", "MAC", "MessageDigest", or "KeyFactory"
Name - string, an algorithm name from SCAN
Test - string, identifies the test to run
Source - string, text explaining where the test data came from
Comment - string, other comments about the test data
KeyFormat - string, specifies the key format. "Component" here means
each component of the key or key pair is specified separately as a name,
value pair, with the names depending on the algorithm being tested.
Otherwise the value names "Key", or "PublicKey" and "PrivateKey" are
used.
Key - encoded string
PublicKey - encoded string
PrivateKey - encoded string
Message - encoded string, message to be signed or verified
Signature - encoded string, signature to be verified or compared
with
Plaintext - encoded string
Ciphertext - encoded string
Header - encoded string
Footer - encoded string
DerivedKey - encoded string
DerivedLength - encoded string
Digest - encoded string
TruncatedSize - int, size of truncated digest in bytes
Seek - int, seek location for random access ciphers
(more to come here)
Possible Tests
KeyPairValidAndConsistent - public and private keys are both valid and
consistent with each other
PublicKeyInvalid - public key validation should not pass
PrivateKeyInvalid - private key validation should not pass
Verify - signature/digest/MAC verification should pass
VerifyTruncated - truncated digest/MAC verification should pass
NotVerify - signature/digest/MAC verification should not pass
DeterministicSign - sign message using given seed, and the resulting
signature should be equal to the given signature
DecryptMatch - ciphertext decrypts to plaintext
(more to come here)

View File

@ -0,0 +1,241 @@
AlgorithmType: SymmetricCipher
Name: AES/ECB
Source: NIST Special Publication 800-38A
Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
Comment: F.1.1 ECB-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 3ad77bb40d7a3660a89ecaf32466ef97 f5d3d58503b9699de785895a96fdbaaf 43b1cd7f598ece23881b00e3ed030688 7b0c785e27e8ad3f8223207104725dd4
Test: Encrypt
Comment: F.1.3 ECB-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: bd334f1d6e45f25ff712a214571fa5cc 974104846d0ad3ad7734ecb3ecee4eef ef7afd2270e2e60adce0ba2face6444e 9a4b41ba738d6c72fb16691603c18e0e
Test: Encrypt
Comment: F.1.5 ECB-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: f3eed1bdb5d2a03c064b5a7e3db181f8 591ccb10d410ed26dc5ba74a31362870 b6ed21b99ca6f4f9f153e7b1beafed1d 23304b7a39f9f3ff067d8d8f9e24ecc7
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/ECB
Source: Generated by Crypto++ 5.6.1
Comment: long test vector
Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 84C6CBDC2B5A39985774B23BAB066A6AF8CB66C08E4F058E5D3E7C351EA845CEC7B209210EE7EFD38269628687F21CB9BCEA349DC0418ADBA2BF2364DF4DB1A11AD84CF6A422CE95C37B2CF81196245CD857D0B954B83985C1888230F3C301847AAF714253EF768C17E89E4F5513DBD5BEE1266A2B2D7063CE3D0BA8716252C5BCBB9922CD46F374B52FDFF1FEBF155FF4AFEE18788999BC74234A3FFBA7B2858BB2552F172E56EC47456878440ABB5ADAE49941C1E43616AC5D6E31A011611B829F6A77BE1F50754F81F35D24ED89FDE804B17363F9A81C3F12AE067FDD41A2984912CAE1926C5FB3AC18E541FA4AD1E171888E61428F2A8F2E981AE16D0D4E41D33E5E675F446DAE0F454FC4CA056F41F3CC4744A9E948428B2280F96663B7230C09692503C95B3E34F8DE8DF23157F45BDF689B258D994D9E6CE5D4DD6BDB96763CCC41DBBE57A4778D5A9E90226D614C335E44CA8AB41EFEA898BC170C65412F77194A43A1305EF23AC70B059E6E047796EF518D7696BC3DAD5E2634F92DD1C90D206A2B6D3A7CE88668BEAD64614E9000ACFBA79EB3601606214E21E08F14CE77E36BB66FE4A0FCD2A21BCAA2391A9C2016AC3BC7CDF1438EB6DD26696644583E2B0A0C68629D736F6723DF66859CF80B4E5B5C5BF03F334D65C48DB3B2660E2CE33B510FD60C912B85D16AEE7CDBFDF6285B0A77BAE07D987F9CE172A548E6BF0A30CF099AA82BE0A25E0E8919
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CBC
Source: NIST Special Publication 800-38A
IV: 000102030405060708090a0b0c0d0e0f
Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
Comment: F.2.1 CBC-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 7649abac8119b246cee98e9b12e9197d 5086cb9b507219ee95db113a917678b2 73bed6b8e3c1743b7116e69e22229516 3ff1caa1681fac09120eca307586e1a7
Test: Encrypt
Comment: F.2.3 CBC-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: 4f021db243bc633d7178183a9fa071e8 b4d9ada9ad7dedf4e5e738763f69145a 571b242012fb7ae07fa9baac3df102e0 08b0e27988598881d920a9e64f5615cd
Test: Encrypt
Comment: F.2.5 CBC-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: f58c4c04d6e5f1ba779eabfb5f7bfbd6 9cfc4e967edb808d679f777bc6702c7d 39f23369a9d9bacfa530e26304231461 b2eb05e2c39be9fcda6c19078c6a9d1b
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CBC
Source: RFC 3602
Comment: Case 1: Encrypting 16 bytes (1 block) using AES-CBC with 128-bit key
Key : 0x06a9214036b8a15b512e03d534120006
IV : 0x3dafba429d9eb430b422da802c9fac41
Plaintext : "Single block msg"
Ciphertext: 0xe353779c1079aeb82708942dbe77181a
Test: Encrypt
Comment: Case 2: Encrypting 32 bytes (2 blocks) using AES-CBC with 128-bit key
Key : 0xc286696d887c9aa0611bbb3e2025a45a
IV : 0x562e17996d093d28ddb3ba695a2e6f58
Plaintext : 0x000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f
Ciphertext: 0xd296cd94c2cccf8a3a863028b5e1dc0a 7586602d253cfff91b8266bea6d61ab1
Test: Encrypt
Comment: Case 3: Encrypting 48 bytes (3 blocks) using AES-CBC with 128-bit key
Key : 0x6c3ea0477630ce21a2ce334aa746c2cd
IV : 0xc782dc4c098c66cbd9cd27d825682c81
Plaintext : "This is a 48-byte message (exactly 3 AES blocks)"
Ciphertext: 0xd0a02b3836451753d493665d33f0e886 2dea54cdb293abc7506939276772f8d5 021c19216bad525c8579695d83ba2684
Test: Encrypt
Comment: Case 4: Encrypting 64 bytes (4 blocks) using AES-CBC with 128-bit key
Key : 0x56e47a38c5598974bc46903dba290349
IV : 0x8ce82eefbea0da3c44699ed7db51b7d9
Plaintext : 0xa0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
Ciphertext: 0xc30e32ffedc0774e6aff6af0869f71aa 0f3af07a9a31a9c684db207eb0ef8e4e 35907aa632c3ffdf868bb7b29d3d46ad 83ce9f9a102ee99d49a53e87f4c3da55
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CBC
Source: Generated by Crypto++ 5.6.1
Comment: long test vector
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 6544CCA076C4D67C1A69DD7E504C6586FBD22912505E187D8628E19FA067D6C339D078E3032B8596DA74BB0E23434F83E153D5ACD5DEF7D264F58EC685317BF50C93430791718D6E09CCC4804FFE4EEB5C6AD8E9B5DFD456EDE81081627A97FC2FAE9F1955377D7774E68EAB541B20CE3C915185BCA208EE08428C400043F2DC90B0390756762C9271946FCE214B9576F74399E466DAC48C6DD10B420F302941DCC27D55CF1FB59D71954950CAD893FFFA70970D128C77BFA34F3C84B0B64A01194A086ACDD9847D6B91B7F870D0E7591CA07F0B407005F1473C37A648F6E18044336F30418BA43FD7AA5B5BAE01A0E33B1EDA4487730F043E202DE44CB901BD3AED13D790D05F325C414831EB601BD918678C1B8E116877CE1167F87204B49619D323713F95C04CA9621FDCF44BD21C5E36A299C486C8FC0D3043EDFF424B9A7AA5500DC3BD7BF6FAB256E6B45B458058DC933F1FF8C5E841BFC7F405761E14B12B48C1C108F33BF8D65BB8DBB9ED7E92398E779333730F4C68922AA76409E842E76B649B981B8269186220ACFF9DFA198D62CBF4CFA0FE05C1427CE63A345A61FE460D14EF25D7A89E2E228B415757B4E4110B6AFA7D85D48C3BCF184FDD7366F06D9E3D29896B0D3C0D83FCFA881E6EC5F29B0294628EDFF284E58B7BE19D37A6B28D70DC0F165A4B60CE5536D76D1A71849C36B0837E4E5082A05208CEEB320C57F0F5B86DC3CAAC8A32DEA9552D
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CFB
Source: NIST Special Publication 800-38A
IV: 000102030405060708090a0b0c0d0e0f
Plaintext: 6bc1bee22e409f96e93d7e117393172aae2d8
FeedbackSize: 1
Comment: F.3.7 CFB8-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 3b79424c9c0dd436bace9e0ed4586a4f32b9
Test: Encrypt
Comment: F.3.9 CFB8-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: cda2521ef0a905ca44cd057cbf0d47a0678a
Test: Encrypt
Comment: F.3.11 CFB8-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: dc1f1a8520a64db55fcc8ac554844e889700
Test: Encrypt
Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
FeedbackSize: 16
Comment: F.3.13 CFB128-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 3b3fd92eb72dad20333449f8e83cfb4a c8a64537a0b3a93fcde3cdad9f1ce58b 26751f67a3cbb140b1808cf187a4f4df c04b05357c5d1c0eeac4c66f9ff7f2e6
Test: Encrypt
Comment: F.3.15 CFB128-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: cdc80d6fddf18cab34c25909c99a4174 67ce7f7f81173621961a2b70171d3d7a 2e1e8a1dd59b88b1c8e60fed1efac4c9 c05f9f9ca9834fa042ae8fba584b09ff
Test: Encrypt
Comment: F.3.17 CFB128-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: dc7e84bfda79164b7ecd8486985d3860 39ffed143b28b1c832113c6331e5407b df10132415e54b92a13ed0a8267ae2f9 75a385741ab9cef82031623d55b1e471
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CFB
Source: Generated by Crypto++ 5.6.1
Comment: long test vector with odd length
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F365C96D626048D13C65962ED08445B5EE74B11203E24C0ACCD3CC13F39963632D8F4B8F8BB16B7901373C32FFD27472957A8448E414A26BB10CAE9BCFBF332BA677D59C0CCD4CCE5B34298E2B1F3250092CF602B5476922D9FA13D4AE9F54841D889FE71D67A79315A621BDAECB2FD3F1ECDAB0DC9FBDFB85AE1633038A44E15DEF1B6DDBC4AB47BB128E1C2DE8A17FD1107D8587CE96088709E17DA23DE6993973A43DFB59801A9691B7EBF5565C4FF842F5132E99288FA4CE3E6CE9333DEE052212E71EF08C5E2E385A787F1567C0CD05A4D11BF40CA19B8D49A231AA55CDE1B8C531C9FCD3B9C70AABD65372E582FCE7528B6BD8F89AA6489B1F085AE024D5A964CAEC4F3F5726CBACDB5D8429F6741FE102BC27E10724C30A64A7D3ED11F6FF41908920A1326793C7C7EDDDD2F79D8A3CE804AE53E59E43B2E0E69AF69A79D7A97A12C0A1AC7331369FCE4072879AA998CD1DC6296CB02D4B97803F1F3713F922796148E2263AFA6A72CF30C3C00297ABF2AD2D559AC4D0011A839FAAA261BB17966E80FF243B65B6209C2732F294F33936A3B8FE7C9BEBE50686BBE7F0FDCF9E24281242B10844037D9AB8A342B954B69E6456243CC13959E1B014A1389BA69B9C4E1C0869C7FE3292ED72FCF183B216F7F5EB5A7CD0A2493BCA160AE6142F4CF03110CA4782CA6C8ED558CA8AF4B14ADC4C368FF0C0CD014F7E117F56D797EF45294C8D3BCED9D5D4E3FA60592031E2925ABA72DFE5AC1D88081DB6CF68DCB256A822CE891AD12F5BB34F39CE974F7D23C0B7AB3BF12D854DA60617EB5E479A9740E00A1DCA267A3D1D212F25A06B83106CBD624CC745ACB31E0EA774F6E0D765D6134F74A3AF5B3846649C14539B7C01B484C54F71B2C5016C2EA57B16472145511130D79E23271151F370DB8A626DB218F73FF0ABFE066E2782696F6984923AA074AEA9E059AEC18F50D4E03F4B17BAD856E6C962604A02
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/OFB
Source: NIST Special Publication 800-38A
IV: 000102030405060708090a0b0c0d0e0f
Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
Comment: F.4.1 OFB-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 3b3fd92eb72dad20333449f8e83cfb4a 7789508d16918f03f53c52dac54ed825 9740051e9c5fecf64344f7a82260edcc 304c6528f659c77866a510d9c1d6ae5e
Test: Encrypt
Comment: F.4.3 OFB-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: cdc80d6fddf18cab34c25909c99a4174 fcc28b8d4c63837c09e81700c1100401 8d9a9aeac0f6596f559c6d4daf59a5f2 6d9f200857ca6c3e9cac524bd9acc92a
Test: Encrypt
Comment: F.4.5 OFB-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: dc7e84bfda79164b7ecd8486985d3860 4febdc6740d20b3ac88f6ad82a4fb08d 71ab47a086e86eedf39d1c5bba97c408 0126141d67f37be8538f5a8be740e484
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/OFB
Source: Generated by Crypto++ 5.6.1
Comment: long test vector with odd length
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F3B3D63D91F8B99D5EA9D0AA2D977A8675EDD972802EB60B3D8FA629EF94358D46861CF60D9F89F481632F937182C78E49D53D132260CFC3A80943E0FD169C6091FF4BBBBDEC35F4A31DDB61AFA087750D6CFCF86DAB13330125D60A2732E43A2AF3E47ABE4824C5B17DD747F267149A321ADA13409D51D4FC685ADA6789D5785FCA5EF199FD96A03879B4147C4936CC32DE864520C98DD55408CA8ED4AF1BE1F133ED53CA9FF58E6862D3E900AE66EEF75272B547BBC8919CE5503981684FEBA088F5E73BF272C820656CC9627FB4E4FC3A92A6B815CAC558B3257614AA9BB2CF2409D3633B6570EEF67A9343502D2B528078E561782917D977E6F76B13CD6526512D3D4C803BBB58E54EED5B4057EAF85DE83A7EC53FACBCA7E03EB7E027910C8DA25B75BE33B41C0C594DF6D781E821193963C9F658D380A460561B2F0C9C3D7639A4E4EE2DA87653DA86FAD6D5280857CEC28CC40D082C81C672D9B36CD169A6803ACA4C8DAAD77953B296FBAF480FA146F8B41DCBD487A368851A207C90228DBF7BAEEB38F23F98520E52145D809DB530D3E690C2A91B8367B815C4FFC0AE7171582169D6A7FD073A1F9DE1182FC98D1D5B3E39B44E054218B80091333D5B751C0530BADF4361C5A95CB26634AE788F7B6D2CCA543FDE48172A24E4D991F9262CFB8ED09FFE4E1506DA6478EF879847F8CE44569A9AC66E124CEE5944D2DC87742CA1B598B3C7D54662F8A5783A0C6689C949C54E148C2C88DFBA4F10F0234BA62E4DDEA30F5AD3D209829CCB73C22141D56050FB75E0E7D1B822F6FFC6AB92E8DB12A5C6B62064B692F8B118CC38F0436433B5370CE5A79D09A7081703EEA59F64B7361AA50476DD2F7074CA37C51935DCBC78A806F92C1186033070D5C3FABACAAE39CB7FBA0654D13413E94F6E9FDDB7D2D4EC1985CCF2E2011C186BD0C16AA95A0C7FDDF1B36490780EB646EEB7B0B377E970FD7D2E9A06
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CTR
Source: NIST Special Publication 800-38A
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
Comment: F.5.1 CTR-AES128.Encrypt
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: 874d6191b620e3261bef6864990db6ce 9806f66b7970fdff8617187bb9fffdff 5ae4df3edbd5d35e5b4f09020db03eab 1e031dda2fbe03d1792170a0f3009cee
Test: Encrypt
Comment: F.5.3 CTR-AES192.Encrypt
Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Ciphertext: 1abc932417521ca24f2b0459fe7e6e0b 090339ec0aa6faefd5ccc2c6f4ce8e94 1e36b26bd1ebc670d1bd1d665620abf7 4f78a7f6d29809585a97daec58c6b050
Test: Encrypt
Comment: F.5.5 CTR-AES256.Encrypt
Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Ciphertext: 601ec313775789a5b7a7f504bbf3d228 f443e3ca4d62b59aca84e990cacaf5c5 2b0930daa23de94ce87017ba2d84988d dfc9c58db67aada613c2dd08457941a6
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CTR
Source: RFC 3686
#Test Vector #1: Encrypting 16 octets using AES-CTR with 128-bit key
Key : AE 68 52 F8 12 10 67 CC 4B F7 A5 76 55 77 F3 9E
Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
IV: 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 01
Ciphertext : E4 09 5D 4F B7 A7 B3 79 2D 61 75 A3 26 13 11 B8
Test: Encrypt
#Test Vector #2: Encrypting 32 octets using AES-CTR with 128-bit key
Key : 7E 24 06 78 17 FA E0 D7 43 D6 CE 1F 32 53 91 63
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
IV: 00 6C B6 DB C0 54 3B 59 DA 48 D9 0B 00 00 00 01
Ciphertext : 51 04 A1 06 16 8A 72 D9 79 0D 41 EE 8E DA D3 88 EB 2E 1E FC 46 DA 57 C8 FC E6 30 DF 91 41 BE 28
Test: Encrypt
#Test Vector #3: Encrypting 36 octets using AES-CTR with 128-bit key
Key : 76 91 BE 03 5E 50 20 A8 AC 6E 61 85 29 F9 A0 DC
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
IV: 00 E0 01 7B 27 77 7F 3F 4A 17 86 F0 00 00 00 01
Ciphertext : C1 CF 48 A8 9F 2F FD D9 CF 46 52 E9 EF DB 72 D7 45 40 A4 2B DE 6D 78 36 D5 9A 5C EA AE F3 10 53 25 B2 07 2F
Test: Encrypt
#Test Vector #4: Encrypting 16 octets using AES-CTR with 192-bit key
Key : 16 AF 5B 14 5F C9 F5 79 C1 75 F9 3E 3B FB 0E ED 86 3D 06 CC FD B7 85 15
Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
IV: 00 00 00 48 36 73 3C 14 7D 6D 93 CB 00 00 00 01
Ciphertext : 4B 55 38 4F E2 59 C9 C8 4E 79 35 A0 03 CB E9 28
Test: Encrypt
#Test Vector #5: Encrypting 32 octets using AES-CTR with 192-bit key
Key : 7C 5C B2 40 1B 3D C3 3C 19 E7 34 08 19 E0 F6 9C 67 8C 3D B8 E6 F6 A9 1A
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
IV: 00 96 B0 3B 02 0C 6E AD C2 CB 50 0D 00 00 00 01
Ciphertext : 45 32 43 FC 60 9B 23 32 7E DF AA FA 71 31 CD 9F 84 90 70 1C 5A D4 A7 9C FC 1F E0 FF 42 F4 FB 00
Test: Encrypt
#Test Vector #6: Encrypting 36 octets using AES-CTR with 192-bit key
Key : 02 BF 39 1E E8 EC B1 59 B9 59 61 7B 09 65 27 9B F5 9B 60 A7 86 D3 E0 FE
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
IV: 00 07 BD FD 5C BD 60 27 8D CC 09 12 00 00 00 01
Ciphertext : 96 89 3F C5 5E 5C 72 2F 54 0B 7D D1 DD F7 E7 58 D2 88 BC 95 C6 91 65 88 45 36 C8 11 66 2F 21 88 AB EE 09 35
Test: Encrypt
#Test Vector #7: Encrypting 16 octets using AES-CTR with 256-bit key
Key : 77 6B EF F2 85 1D B0 6F 4C 8A 05 42 C8 69 6F 6C 6A 81 AF 1E EC 96 B4 D3 7F C1 D6 89 E6 C1 C1 04
Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
IV: 00 00 00 60 DB 56 72 C9 7A A8 F0 B2 00 00 00 01
Ciphertext : 14 5A D0 1D BF 82 4E C7 56 08 63 DC 71 E3 E0 C0
Test: Encrypt
#Test Vector #8: Encrypting 32 octets using AES-CTR with 256-bit key
Key : F6 D6 6D 6B D5 2D 59 BB 07 96 36 58 79 EF F8 86 C6 6D D5 1A 5B 6A 99 74 4B 50 59 0C 87 A2 38 84
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
IV: 00 FA AC 24 C1 58 5E F1 5A 43 D8 75 00 00 00 01
Ciphertext : F0 5E 23 1B 38 94 61 2C 49 EE 00 0B 80 4E B2 A9 B8 30 6B 50 8F 83 9D 6A 55 30 83 1D 93 44 AF 1C
Test: Encrypt
#Test Vector #9: Encrypting 36 octets using AES-CTR with 256-bit key
Key : FF 7A 61 7C E6 91 48 E4 F1 72 6E 2F 43 58 1D E2 AA 62 D9 F8 05 53 2E DF F1 EE D6 87 FB 54 15 3D
Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
IV: 00 1C C5 B7 51 A5 1D 70 A1 C1 11 48 00 00 00 01
Ciphertext : EB 6C 52 82 1D 0B BB F7 CE 75 94 46 2A CA 4F AA B4 07 DF 86 65 69 FD 07 F4 8C C0 B5 83 D6 07 1F 1E C0 E6 B8
Test: Encrypt
AlgorithmType: SymmetricCipher
Name: AES/CTR
Source: Generated by Crypto++ 5.6.1
Comment: long test vector with odd length
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F31C8551B6306D52CF843EC0B85015DC203B1C0B643E2A6BABAF5133DA0EA06616076AA6BBB52ED75DC3A71A9A6E8AC7C9A00D2C39AA68BF4E6FFED9AAEE5AD6914FB3EA77C7B61FF6BF564F2F1225ACB4B5889CB1559888A5817849C382E168482F75381F63868C468E4D1583B1FE71DD808CB94D8150AAB9D530A0FC17CDE748E95545D8A033B2F61F1954D0C0226168022E1CD7E031C57D048AC560F152960F47705E174D956D4BB53AE80BFFCD1BD569ED8EFFA223C00558B702405F33E6E0EDB2D9B0C148A1441CC80D6ABBCE785AA1B9DAB7CB8832F1B12D2EE60EE2DFCA37942CA1724E5602B7B70525AC9662028A22DB234676615DB474538CBC8D197F38C88BCC4F9E8D207538CA18DE5F095420A2E4D5868CEBB8B34A9377DC52D119790B65210F1B346F5E00D9BD00A8847048913D80726B9B745D565E6284B986DBAEA997FFC5A0DE5051527D44B2C1266DBC9130A6EB15F37A0F00B6286D6678CA651C07743BD37F2E8F6A94F5ED8C63428AE4883A9695183807E104BC335C64FEAAC40A605913DF98FF44E0801B31A968CCE5DCAFADE1E017FA711E05FF5A54BFA1999C2C463F97A3A66B30211BD306C8911C98F8EE5EF47A54746A4D16B7C7424A6954B4FC3BCF1A41BDE8A19CE1027AE86A320D0E5E7D3C7E50CFD0C4665B811D86C313F09ADE5B4DBE017231859881E5873E9EDB2011CF5920D2F7277C4DE1AC430A1849F0B870A69ABE701B6D0B5123E5FF53395409177CF84BF41EC33C5E4BCC2CF29258DC7C260471AABDA49FDE62915758EE4E578D0F7698E6456BC144573739D5D508CC76B389359D2A0ECB5B7EE5FCB4C3151D5AF7C71819EA3DD5F36C7B27E551FD2373D07FFDC76A13FC4B10A6F29A83D6F465ACB6960671EACF21A3E1CB4411C4DAA0C2A87DAED28AEE60B7EC0258A9AF125F2DDC80B9877EFE0F372D9B832C786770A84EA1A07CB6E1A9907D651BBD0EFDEF2AFFC3
Test: Encrypt

View File

@ -0,0 +1,32 @@
AlgorithmType: FileList
Name: all.txt collection
Test: TestVectors/tea.txt
Test: TestVectors/wake.txt
Test: TestVectors/camellia.txt
Test: TestVectors/shacal2.txt
Test: TestVectors/ttmac.txt
Test: TestVectors/whrlpool.txt
Test: TestVectors/dlies.txt
Test: TestVectors/dsa.txt
Test: TestVectors/dsa_1363.txt
Test: TestVectors/esign.txt
Test: TestVectors/hmac.txt
Test: TestVectors/nr.txt
Test: TestVectors/rsa_oaep.txt
Test: TestVectors/rsa_pkcs1_1_5.txt
Test: TestVectors/rsa_pss.txt
Test: TestVectors/rw.txt
Test: TestVectors/seal.txt
Test: TestVectors/sha.txt
Test: TestVectors/sha3.txt
Test: TestVectors/panama.txt
Test: TestVectors/aes.txt
Test: TestVectors/salsa.txt
Test: TestVectors/vmac.txt
Test: TestVectors/sosemanuk.txt
Test: TestVectors/ccm.txt
Test: TestVectors/gcm.txt
Test: TestVectors/cmac.txt
Test: TestVectors/eax.txt
Test: TestVectors/mars.txt
Test: TestVectors/hkdf.txt

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,240 @@
AlgorithmType: AuthenticatedSymmetricCipher
Name: AES/CCM
Source: aes-modes-src-07-10-08/Testvals/ccm.1, Basic Tests for CCM (compiled by B. R. Gladman)
Key: 404142434445464748494a4b4c4d4e4f
IV: 10111213141516
Header: 0001020304050607
Plaintext: 20212223
Ciphertext: 7162015b
MAC: 4dac255d
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f
IV: 1011121314151617
Header: 000102030405060708090a0b0c0d0e0f
Plaintext: 202122232425262728292a2b2c2d2e2f
Ciphertext: d2a1f0e051ea5f62081a7792073d593d
MAC: 1fc64fbfaccd
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f
IV: 101112131415161718191a1b
Header: 000102030405060708090a0b0c0d0e0f10111213
Plaintext: 202122232425262728292a2b2c2d2e2f3031323334353637
Ciphertext: e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5
MAC: 484392fbc1b09951
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f
IV: 101112131415161718191a1b1c
Header: r256 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
Ciphertext: 69915dad1e84c6376a68c2967e4dab615ae0fd1faec44cc484828529463ccf72
MAC: b4ac6bec93e8598e7f0dadbcea5b
Test: Encrypt
Key: c97c1f67ce371185514a8a19f2bdd52f
IV: 005030f1844408b5039776e70c
Header: 08400fd2e128a57c5030f1844408abaea5b8fcba0000
Plaintext: f8ba1a55d02f85ae967bb62fb6cda8eb7e78a050
Ciphertext: f3d0a2fe9a3dbf2342a643e43246e80c3c04d019
MAC: 7845ce0b16f97623
Test: Encrypt
Key: 8f7a053fa577a5597529272097a603d5
IV: 00eec1762c88de31f3cbba97ea
Header: 08c0ea100c846850eec1762c88deaf2ee9f46a070000
Plaintext: 83a0634b5ed7627eb9df225e05740342de194117
Ciphertext: 814b6965d05bf2b2ed38d4beb069fe82714a610b
MAC: 542fbf8da06aa4ae
Test: Encrypt
Key: 40cfb7a62e88013bd6d3affcc191041e
IV: 00b6a88adf36912fdca0f3a5ae
Header: 88c0d9577df763c8b6a88adf3691dc4a8bca94dd00000000
Plaintext: 2c1bd036831c95496c5f4dbf3d559e72de802a18
Ciphertext: 89d8580340b626a0b6d4d013bf18f291b89646c8
MAC: fd1f1f61a9fb4bb3
Test: Encrypt
Key: 8c89a2ebc96c7602707fcf24b32d3833
IV: 078ef822734701f670a55a0fe3
Header: 88c2712a9ddf11db8ef82273470159140dd646a200000700
Plaintext: 4fad2b1c290fa5ebd872fbc3f3a074898f8b2fbb
Ciphertext: 9d59b15f371448c230f4d739052e13ab3b1a7b10
MAC: 31fc88004f35ee3d
Test: Encrypt
Key: a574d5143bb25efddeff30122fdfd066
IV: 0bf351946bc96ba7ffe03c0e37
Header: 88c245dec69a7480f351946bc96be276fbe6c12700000b00
Plaintext: 28969b954f263a8018a9ef70a8b051462481922e
Ciphertext: eb4ae4956a801da9624b7e0c18b23e615ec03af6
MAC: ce0c3be197d305eb
Test: Encrypt
Key: f71eea4e1f58804b9717230ad0614641
IV: 0dbff943b9f9a66b81eca48989
Header: 88425af28430fdabbff943b9f9a6ab1d98c7fe7300000d00
Plaintext: abfda22d3a0bfc9cc1fc079363c2fca143e6eb1d
Ciphertext: 9a709b60a39d40b1dfb612e18b5f114badb6cc86
MAC: 309a8d5c466bbb71
Test: Encrypt
Key: 1bdb34980e038124a1db1a892bec366a
IV: 00efec952016915eec4073e723
Header: 08419b50f4fd56f6efec9520169183570c4ccdee0000
Plaintext: 98beca86f4b38da20cfdf24724c58eb835665339
Ciphertext: 12c537ebf3ab584ef1fef9a1f3547a8c13b3225a
MAC: 2d0957ecfabe95b9
Test: Encrypt
Key: 6eac1bf54bd54edb2321754303024c71
IV: 0aca3f3aae60c4cefd996eccdd
Header: 88c1552d5f72bb70ca3f3aae60c48ba9b5f82c2f00000a00
Plaintext: 57cb5c0e5fcd885e9a4239e9b9cad60d64375979
Ciphertext: 4bf281ef8ec7739f91591b97a87dc14b3fa17462
MAC: 6dba8ef7f08087dd
Test: Encrypt
Key: 494b501e194675971a48d08c5bc353cb
IV: 0aa4ad6d319985ba82e93437b3
Header: 88c19afb798b8a4ba4ad6d319985bc429e8f0afa00000a00
Plaintext: 25a98f9c1bd9c93cf383ab9d98152d76cb4a32c6
Ciphertext: 561a0d068eac2eadb0c57fe2d0a6cc7398b6ddbf
MAC: cfe438cbea61fa9a
Test: Encrypt
Key: 489e49bc3cfe3fce3895820e872ee1a3
IV: 0053f869fe279acf1d3e75fea9
Header: 084340ec29fa759b53f869fe279af0f9f8a65416000052bfd2703d24
Plaintext: 7f91f2472d7a121c9cdd4b6c9080675a1020aa00
Ciphertext: 25df5173835e4fba23bc05a253885ebed3ac4871
MAC: c868a725552c5565
Test: Encrypt
Key: 02be5c4545672a07e4e314d70f1f9e85
IV: 0d347ceb9aabffd2d6596e55d4
Header: 88c3298c0baa9190347ceb9aabffd83d4886e5c20000e29d524ae1960d00
Plaintext: f9a812e4a28af7f3714d4bf6622e5932f2184509
Ciphertext: 6315500f924295cd3eafbdc3e151b1df46465b71
MAC: 681fdee8513c62dc
Test: Encrypt
Key: 77077ed79453e4a18d60438cc6484d6e
IV: 00d8ac5a7ec44450b01e77fd8e
Header: 0843aa288b8435bcd8ac5a7ec444e8b46250538b0000e81402c2ee11
Plaintext: 431981a2336d02f8cb8448d5428916be95293537
Ciphertext: cf71b2ccbd590b20800792f359ed1cfd74d800b4
MAC: fd0f41f426bb8f30
Test: Encrypt
Source: aes-modes-src-07-10-08/Testvals/ccm.2, Vectors for IEEE P1619.1 CCM Mode
Header:
Key: 0000000000000000000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: c1944044c8e7aa95d2de9513c7f3dd8c
MAC: 4b0a3e5e51f151eb0ffae7c43d010fdb
Test: Encrypt
Plaintext:
Ciphertext:
Key: 0000000000000000000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
Header: 00000000000000000000000000000000
MAC: 904704e89fb216443cb9d584911fc3c2
Test: Encrypt
Key: 0000000000000000000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
Header: 00000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: c1944044c8e7aa95d2de9513c7f3dd8c
MAC: 87314e9c1fa01abe6a6415943dc38521
Test: Encrypt
Header:
Key: fb7615b23d80891dd470980bc79584c8b2fb64ce60978f4d17fce45a49e830b7
IV: dbd1a3636024b7b402da7d6f
Plaintext: a845348ec8c5b5f126f50e76fefd1b1e
Ciphertext: cc881261c6a7fa72b96a1739176b277f
MAC: 3472e1145f2c0cbe146349062cf0e423
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
IV: 101112131415161718191a1b
Header: 000102030405060708090a0b0c0d0e0f10111213
Plaintext: 202122232425262728292a2b2c2d2e2f3031323334353637
Ciphertext: 04f883aeb3bd0730eaf50bb6de4fa2212034e4e41b0e75e5
MAC: 9bba3f3a107f3239bd63902923f80371
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
IV: 101112131415161718191a1b
Header: r256 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
Ciphertext: 04f883aeb3bd0730eaf50bb6de4fa2212034e4e41b0e75e577f6bf2422c0f6d2
MAC: 3376d2cf256ef613c56454cbb5265834
Test: Encrypt
Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
IV: 101112131415161718191a1b
Header: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Ciphertext: 24d8a38e939d2710cad52b96fe6f82010014c4c43b2e55c557d69f0402e0d6f2 06c53d6cbd3f1c3c6de5dcdcad9fb74f25741dea741149fe4278a0cc24741e86 58cc0523b8d7838c60fb1de4b7c3941f5b26dea9322aa29656ec37ac18a9b108 a6f38b7917f5a9c398838b22afbd17252e96694a9e6237964a0eae21c0a6e152 15a0e82022926be97268249599e456e05029c3ebc07d78fc5b4a0862e04e68c2 9514c7bdafc4b52e04833bf30622e4eb42504a44a9dcbc774752de7bb82891ad 1eba9dc3281422a8aba8654268d3d9c81705f4c5a531ef856df5609a159af738 eb753423ed2001b8f20c23725f2bef18c409f7e52132341f27cb8f0e79894dd9
MAC: ebb1fa9d28ccfe21bdfea7e6d91e0bab
Test: Encrypt
Key: fb7615b23d80891dd470980bc79584c8b2fb64ce6097878d17fce45a49e830b7
IV: dbd1a3636024b7b402da7d6f
Header: 36
Plaintext: a9
Ciphertext: 9d
MAC: 3261b1cf931431e99a32806738ecbd2a
Test: Encrypt
Key: f8d476cfd646ea6c2384cb1c27d6195dfef1a9f37b9c8d21a79c21f8cb90d289
IV: dbd1a3636024b7b402da7d6f
Header: 7bd859a247961a21823b380e9fe8b65082ba61d3
Plaintext: 90ae61cf7baebd4cade494c54a29ae70269aec71
Ciphertext: 6c05313e45dc8ec10bea6c670bd94f31569386a6
MAC: 8f3829e8e76ee23c04f566189e63c686
Test: Encrypt
Source: RFC 3610
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 03 02 01 00 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07
Plaintext: 08 09 0A 0B 0C 0D 0E 0F\
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Ciphertext: 58 8C 97 9A 61 C6 63 D2\
F0 66 D0 C2 C0 F9 89 80 6D 5F 6B 61 DA C3 84
MAC: 17 E8 D1 2C FD F9 26 E0
Test: Encrypt
MAC: 17 E8 D1 2C FD F9 26 00
Test: NotVerify
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 04 03 02 01 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07
Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
Ciphertext: 72 C9 1A 36 E1 35 F8 CF 29 1C A8 94 08 5C 87 E3 CC 15 C4 39 C9 E4 3A 3B
MAC: A0 91 D5 6E 10 40 09 16
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 05 04 03 02 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07
Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
Ciphertext: 51 B1 E5 F4 4A 19 7D 1D A4 6B 0F 8E 2D 28 2A E8 71 E8 38 BB 64 DA 85 96 57
MAC: 4A DA A7 6F BD 9F B0 C5
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 06 05 04 03 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07 08 09 0A 0B
Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Ciphertext: A2 8C 68 65 93 9A 9A 79 FA AA 5C 4C 2A 9D 4A 91 CD AC 8C
MAC: 96 C8 61 B9 C9 E6 1E F1
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 07 06 05 04 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07 08 09 0A 0B
Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
Ciphertext: DC F1 FB 7B 5D 9E 23 FB 9D 4E 13 12 53 65 8A D8 6E BD CA 3E
MAC: 51 E8 3F 07 7D 9C 2D 93
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 08 07 06 05 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07 08 09 0A 0B
Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
Ciphertext: 6F C1 B0 11 F0 06 56 8B 51 71 A4 2D 95 3D 46 9B 25 70 A4 BD 87
MAC: 40 5A 04 43 AC 91 CB 94
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 09 08 07 06 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07
Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Ciphertext: 01 35 D1 B2 C9 5F 41 D5 D1 D4 FE C1 85 D1 66 B8 09 4E 99 9D FE D9 6C
MAC: 04 8C 56 60 2C 97 AC BB 74 90
Test: Encrypt
Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
IV: 00 00 00 0A 09 08 07 A0 A1 A2 A3 A4 A5
Header: 00 01 02 03 04 05 06 07
Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
Ciphertext: 7B 75 39 9A C0 83 1D D2 F0 BB D7 58 79 A2 FD 8F 6C AE 6B 6C D9 B7 DB 24
MAC: C1 7B 44 33 F4 34 96 3F 34 B4
Test: Encrypt

View File

@ -0,0 +1,38 @@
AlgorithmType: MAC
Name: CMAC(AES)
Source: RFC 4493
Key: 2b7e1516 28aed2a6 abf71588 09cf4f3c
Message:
MAC: bb1d6929 e9593728 7fa37d12 9b756746
Test: Verify
Message: 6bc1bee2 2e409f96 e93d7e11 7393172a
MAC: 070a16b4 6b4d4144 f79bdd9d d04a287c
Test: Verify
Message: 6bc1bee2 2e409f96 e93d7e11 7393172a ae2d8a57 1e03ac9c 9eb76fac 45af8e51 30c81c46 a35ce411
MAC: dfa66747 de9ae630 30ca3261 1497c827
Test: Verify
Message: 6bc1bee2 2e409f96 e93d7e11 7393172a ae2d8a57 1e03ac9c 9eb76fac 45af8e51 30c81c46 a35ce411 e5fbc119 1a0a52ef f69f2445 df4f9b17 ad2b417b e66c3710
MAC: 51f0bebf 7e3b9d92 fc497417 79363cfe
Test: Verify
MAC: 51f0bebf 7e3b9d92 fc497417 79363cff
Test: NotVerify
AlgorithmType: MAC
Name: CMAC(DES-EDE3)
Source: http://csrc.nist.gov/groups/STM/cavp/documents/mac/cmactestvectors.zip
Key: f8fba7b9b3e9d68a 2f70bfd304d32a15 9e13453e0d16928a
Message:
MAC: eb61515b
Test: VerifyTruncated
Key: 344a6732dc5e5431 e98a4f7c323dc1c4 6b0275dc150e68e9
Message: 25db0710fb165d316e7c32dd25648ed0
MAC: 862f0e2b
Test: VerifyTruncated
Key: 20ae32c49bab3bf8 f86bb66173fb54d5 3e700868c46bc291
Message: 582bd9c8c36ec815d0a9
MAC: 0d62f14f
Test: VerifyTruncated
Key: 62232501b9e9c1b5 54209d7c075d2c31 73a2f289a84c49ce
Message: adaf4bfffab79ffb60b94647faac634929c56e694052881881e60b1149b6
MAC: a05674f2c905d153
Test: Verify

View File

@ -0,0 +1,542 @@
AlgorithmType: AsymmetricCipher
Name: DLIES(NoCofactorMultiplication, KDF2(SHA-1), XOR, HMAC(SHA-1), DHAES)
Source: generated by Wei Dai using Crypto++ 5.1
Comment: keys are encoded as DSA keys, with OID id-dsa
KeyFormat: DER
Comment: 1024-bit DLIES key
PrivateKey: \
308201370201003082011706072a8648ce3804013082010a02818100ba3ed941\
10332be99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7\
3255475854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a\
966a2b968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82a\
b8d283943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d\
1f6ca0881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2\
b286fb992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7\
d87a454b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844\
e2f4155c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902\
01030417021501fdc788cd93f07dba3af2de42ae5aa3ede219919d
PublicKey: \
308201a23082011706072a8648ce3804013082010a02818100ba3ed94110332b\
e99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7325547\
5854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a966a2b\
968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82ab8d283\
943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d1f6ca0\
881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2b286fb\
992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7d87a45\
4b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844e2f415\
5c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902010303\
81840002818029eaa5b193357c200e0d42f374d4c003c633c77f4778fe40ad0b\
d035b87ae5da4e74110ec2b15eefe1bd8b9357534c85328382946d314e15b79f\
7b854227012dfaac9bd862e73a5630e01327b36319765a3eb1434e108ef6421c\
659e3f9223966759611429b3c86ed9937563efbfad8bfedcfa92db3d7d2157fe\
2c8a33f08636
Test: KeyPairValidAndConsistent
Plaintext: 76
Ciphertext: B11D906CC5A8E71CA8962A8CC0AC4CAFF2DA00DC130C370F42D11FCF5C37DE046EBC07C7D457CA351CE456A043695D14ED055ADAD2B58BE0DF992685EF8B0D21597A43D7B3D9634A077CB70C4590CD73C20FAAACBC5649413EECA0C7B3CBF469E531299398F61496C51FE9FFE48AE9FE6034F104EFC562DE9529C776B86ADD4025AD6B0C3687B012F92C7B9E82F794E4FBE247D644
Test: DecryptMatch
Plaintext: 89338CE80AFB62E9577A310E40311BB3F77F
Ciphertext: 8A33B0E212DB8155CA796B472F55CD77267C9106229B6055141EA3AAAE42AD27249D90E70F892B0CDC80D29D3D586A5CA6FE67D4BB44C58B03496708F80681125DCEF983B7453B1E4F927438BD2E3E506C1951E9F19BA70F9B687012440CD75C0BB78BDCFAB22AF535D3E2670ABD1F4D44ED95F3360536612B1A7DF35E2A88F66BD6E8C813EB9DC89D93A85C9A0BA13E4862B91171B681E64A0750197C6467B22566BC640E11
Test: DecryptMatch
Plaintext: 0835455ABD53E6FB11ED9B0C00485D3C6845DB
Ciphertext: A81181517BD270B0D921AF735052898932008DF00D501EDE0D2D564871D61A6A837776E8D7C7F9B0E5F9181C1FC68BC430F30ABB1A64D62B444C0AC5AAE588B4481AEF08B38E466155F10CA04C8202F281186016AE35212A2C7815A22DB2750ABD526D285BDBC598672BFB52E95CE33A0D3E5DCF4CF5F46224CFBB85297F3AB170C8B9478994E32D9A21A452B095D3D902E92C7E444A3307FDD7256FE49341142E5FF7A616475A
Test: DecryptMatch
Plaintext: 1EBED48EC47B6987091C52BC
Ciphertext: 1DF446FF43AAAAAC8E3F7D70C912E2D45AB832BCA3D0FBD17AF864B9EA878C45B9E2902804171A739A0552BB7CE0CD46DC16343714CC9C2E71AE26304885EEEB242665814DD9E33C480ABA214755D5449F16CD8870D1AB3A8E64E45E463AB3F4D3031FA3ECD395B61B372602665FCF218D9C51E8C791FA1E5BCC2916EFBB482E1814632CDF0F1852EE4943D9652DAA4E1F3B22F17F57F51D52A0997BED5B04ED
Test: DecryptMatch
Plaintext: 65D8
Ciphertext: 4385797FD38AD5DFBB4F613BC87637B0051501E57699A5880E235DB7A6994A04A1613D0C8E07E36AFD08F2E47D018951B22E7625DA647AA1A0791DB3B2FA794610892D9A3D3F173CF95277B4B1EB92579A229510B67E171CB5BBA8B3AA732047BA038816A30124AF1C4C57CA80E93AACCC8EC70BCF7867914E7DE2C403568F9778F8DBEAF08FDB9F48452054C9735DC84F012DF8FE17
Test: DecryptMatch
Plaintext: F86D8ED91E9934125DA6E9B4E97545C83A
Ciphertext: 13B0AE03AB532D5E31C9384B4E726A9AC73583CFBB0643EC322E3D2D45D9358CAF745B0541C136E8AA2220C42CEC9E1ED174886475538732AA6D6417DA89FA411AEDEADCD9F15D25D27D0AE252F77E888470AE696D5805CE8CCCB40B45D4AA835E97C7BF2CD6A2B4FEC6FCF858606CE4695DCE998C518360068ED028FC882478BF96096D92C166899EB51778BC4B7DA1BA8C4B6CEBA1139F17CEE484EA104A0325420A3D56
Test: DecryptMatch
Comment: 1025-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b028181015dd79808\
07a15e557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d996295\
64aca54fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f11\
49f398ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c1\
06ebebd0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100\
aeebcc0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d068\
86ccb14ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b\
13158f88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9\
dc4c02e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f\
020102041702150f514282f489098f1df0c7be02ccbb3f23bed00376
PublicKey: \
308201a43082011806072a8648ce3804013082010b028181015dd7980807a15e\
557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d99629564aca5\
4fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f1149f398\
ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c106ebeb\
d0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100aeebcc\
0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d06886ccb1\
4ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b13158f\
88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9dc4c02\
e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f020102\
038185000281810107143658b98a3725010d3631a3f4f7448cb967ac0118e4ca\
8fc8871eb4fb872d55c52d93a4f21eed98b6499db74315956a268f38a288958b\
f7c4d548662c668669d69375e0cb710ff3a1a9f43e49add1f7ae58b836b6444e\
419e40474c27066cb03aae8132e65f3fead0109307ab1c7f0254eb14e9d76639\
1a66ca1ba442b425
Test: KeyPairValidAndConsistent
Plaintext: 256F07E0D37D69BE542BD17FA98CE4CFC3DA849B
Ciphertext: 01269CE30DE12430904CEC9D8B91A6D8860B4F8D37FCE7DBDCE8FA18AC521684F4C1CD5C38BF3B42C259033CD36A53F0376A0CDD801979CF1B76ADD72AFDD27830BD85B373C4D451B84926ABA34012EB98331F0B81CCF8E801ACCDEE88A35DF60EFADABA1F395250A15463203FDCCEDAB7DD6CD1271B38A5E0946F8D189B225E8A307D198AC5E4EB33BCF26A02C0C602AA14592AEA01452E4F8AE46E7A032BABD1BA8ACB0919F2EA18
Test: DecryptMatch
Plaintext: A992
Ciphertext: 007822B0BDF45CC5B15102B5E21F7656C8896E98FAD6C2AF6CD55D0DB90B7A6B05E36D260C7A5C070526813290BCA722959B9B9BF00041B4B7F3E3EAFA9B5376A1E02944EDA55B99202601AE6D402D56617B56B28BAC1B405016053CDC78AB4D372B0D58E7380D50F1CD0E31B8CB77FD2F6BA3E7A436A5B35552B9974EA5AB30AC0C4989E34F5FD7D272417FF2094B97119BEB2C73C68B
Test: DecryptMatch
Plaintext: 1D20C118C894EFDC67DAC33E56179C5D262C83
Ciphertext: 001587AFEC265C244875371B680521FF93F0B1196901A7D580785B62A257B1736C86D1D9E59A31E62F53B92B209B45A7952776C6AC839243B0BBF3A059E6CEE99B120BBD45922B4E813DDE0F5793A42B3AF2DDDAA357136A010519D884589A1F9912110020A8C16E9B91C753EB8842B3224FE9C9A22AE2B82251CFF7799E78885B0B67B27DAAC6A7B58013C31115C2B8C0C0176BC2A7B96A299CC75693B4F2138B2B4053CB5320D5
Test: DecryptMatch
Plaintext: 83BC82A4F7A4DFC96CD7798BAC52254CD6E9
Ciphertext: 0085E83465997BFED9CAE63B04B0419578D0BD85B1A65285E5537F4367E5E7E11DD8762BD3335916A13B8CF9D5BC651E762458E9879363B06748BEA0CA86D32CBC4F1B0C0BF67E616B872A64F7356241CD052944F6594A570522EF2BCC53D90E3326D2ECFA036C46256D9B678C93BE5877749AF8FF8FEDB6E1E17B67C7B6C6098D0C71D5B2AB503AFD7739ABCC8DE67DAC056AFE99D8A107230BA88C282FB8FD46E9E9E2C6874A
Test: DecryptMatch
Plaintext: 157597899A950A32
Ciphertext: 013623199FFDD0D4689A4C50A9FEA3C2250D0C73F209F33BF3EF13E6035976D6F3EAFBA3D83A3862E4B6DFC7581EA43B62F49BC85392B7EAB854F92DA8DD5921A6A4C42777E89004EB7E6D479BD028F758171C324168DC0814369C6BCD8471D9620C4E9BED785A220EF9C0DCF1201311A16C51341E0551043C6EAB45E04A81C9280633F58621D8D3492864FFF6A39EDC48450ABFE0C7AABAEB9A86CFFD
Test: DecryptMatch
Plaintext: CDE651
Ciphertext: 0040308CCDAB105426597D84A64665200A93208713004DB38594C490F7B85F08ADB67BBE47B7FB7BBDA435A6B6A2CA0B4CBE0FDCBD4FF078FD052213CBCAA4580D1C7962A3505DAA9BEA2957718AB36D061E61B9DEB3D7DD726975C6E7FD79AADBF649F5ABE51AC384E967D3CDAFD9EAA18EEB69774961E439F54844FA22DA1B6892E86471DAE6F7E74CACC944123234826621C7634AE34E
Test: DecryptMatch
Comment: 1026-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b028181031e7d8589\
b9fa11e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431d\
c4a14204a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519ac\
f9be56c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558\
155a1498adf4e92dc90f34169123a5fcd8ddfc763c81658a4d08383702818101\
8f3ec2c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e\
4b5da18ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943\
b1b28cd67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d71\
77b9b2ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b\
020102041702151fa3003b00efad22ecc26c5115e6d036d13d3b2f7e
PublicKey: \
308201a33082011806072a8648ce3804013082010b028181031e7d8589b9fa11\
e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431dc4a142\
04a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519acf9be56\
c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558155a14\
98adf4e92dc90f34169123a5fcd8ddfc763c81658a4d083837028181018f3ec2\
c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e4b5da1\
8ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943b1b28c\
d67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d7177b9b2\
ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b020102\
038184000281802c6360e6e3eba6da6efb5bce8d07a99e42949b68b3c2900583\
c2eb34498081c7212d8dc95a631d63edeafc625f8faf063e57b41d7b662ba9c1\
a99b3f2506fdf5e59116a0e93e7e94aab55691abae75eaac9637a713949360a4\
5f6908f23ba5503d4760bcd6f7abceb8351a66bb14fae05f03b1494e7ef4154c\
99a9cb6a9bfe12
Test: KeyPairValidAndConsistent
Plaintext: DEC85711F12C0D1D6C26797E91B0F39B37
Ciphertext: 0215D75DD99B8A59DEA3FBA9B0F8A621EFFBFD831E9543749B04B495147CE9B56D519EE71BDF56D86FD1D9C1AE8BC1D7F29DC469A05221E4A31C726971731CF627E63FAB269FC92DEDDFF3319819373F299D55F4CABE08DADF29A7C60E9B4E2806899371B93A853F828EC4312D94CFDADFDEF2037D9C1FCE21A3E451006AC542E1BC36D3C33AEAC0D1666C26AA886F4C118836EDCA7C5A428E407C4ACD62A885C03202230FA6
Test: DecryptMatch
Plaintext: 0E665CD2CF75C2E6E24908448F29E9A198EF
Ciphertext: 00A4583FF3A9451C6F8970E53D95EC74F41F709F5156B4FC9C698B1E43C7B5F3230D5417AED2C7447455009CE8381A30BE400EC15BBB1D7BCB9461E593D416421157541479FE1DCEAAE635728C68C58D260337A25D0CF9FA291D84E9E1DF4FF96822CA1F05CDD247AD14E5AFB231A0AF0F2E79FB9A0528CA2FE9431724C0AC9F0A2ABCED9A20EC1203DE2A835D90EA5FB1447EC722456B6F4C75D0645CEC5BECCE35B79FF3071A
Test: DecryptMatch
Plaintext: BE2A
Ciphertext: 02823CB4ABD598FC5D36300306460886BBECFAE6F56E02708A96EFB27EF7E3D8F08442FC819EAB1DC35CC70A074984A149F209EB285C6064DDDBC7781CEF7358F384D592BFC75D346A6D97D8524CB35060A35E3B3145199F4968677FA22BB468DBFF63E3E366D778B3042D5858699D9FE5D6F53D0CB084E107111B572AE9B933B94FF37F2681DC50CDED2714668375DA90787CF0144F1B
Test: DecryptMatch
Plaintext: 20D57B7E074BFFF8F54AF3E69C9B632253B3B5C0
Ciphertext: 00D18C24BF39CD527455737B4B214BADDE99B070181C1E4729CC7B6EAC82298417FFAE7BDA1F41A7D74D6969BF9CAF3A7F9EC9397DB75F5E53D0282F793D601A28E8B3CA8730CD9D7A0ABA338E2DB3EB5314321EEBA2F16C8072DA6AD9A887AA5AED0EC5EF3DC7E5726626511F8F23B0BA4D83BA358DF0951B07399C7515349E3DE2938D2AA53AB11A4D1C07213E091CD3FB6453AF7DFB6799D45DA44B060F7BF5ACA5A25B3892BBB6
Test: DecryptMatch
Plaintext: CC47935F7976
Ciphertext: 02366250DE032B147BCEABCB576ED39F4993251D25010FAEEB41BDDA4301B890063247EEDC041539488E70B977091BF581033EE6EF75C224C8046EE3E7D2330383A30BA07FF33D10F07FF6E1EE20FA4D112CAB1BF457B50DC301DE5C6DBFACE227903379A41DC4D92517A547968D3F147D6435C3DF6A3D0D13635360716CBAC322EBD295593865C3A117050059FBEC83D112C5C3727377EBA7778A
Test: DecryptMatch
Plaintext: 3A370FAFD82869FEC40117
Ciphertext: 026AE53843D3EFE36D8E52D9FD55DC6F0A0F51584BF81529914DAB6E380A6C9716828A7254307440B6A0CD16BF0D9D713939AE7F6C4D82D5AA70F33C9531E4071B9CB415C7622A23DBF4C81820BE04272874549F081B57D40B27BC1879BF134A2CF5D15203D326F9F97BCAC8606082A50A755CAE6FE2B72060EB1E0B72EF5AFAE8A823B3F0F91877C931CA64A06F3888DD4E2C823B3FCF529407255BE2AAD36A
Test: DecryptMatch
Comment: 1027-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b028181072c45d24e\
de76df2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f\
8cfd8874dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c\
951670f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0ab\
df2cbfc700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf02818103\
9622e9276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd521\
15c1821fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ff\
d83320164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3\
c4505055ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7\
0201020417021506533f6f0886a8a44137598adb93aeee548c9af303
PublicKey: \
308201a43082011806072a8648ce3804013082010b028181072c45d24ede76df\
2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f8cfd88\
74dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c951670\
f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0abdf2cbf\
c700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf028181039622e9\
276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd52115c182\
1fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ffd83320\
164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3c45050\
55ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7020102\
03818500028181056bf5dcced97da0ddd23c1f1294f97431e323f9719fc9bed6\
352d08a88ceb13a06b559b8ef7dc04c5a04a761a9631aa1000f32f885fb0de56\
505524ae89462079631f438284c8e5225c021d7731087ec0aad11aba9bba95de\
03f5c99ac228861a3ee6a7b47617cec687a58255321694b923e63ed247e65ff1\
4c279bec5282bc1b
Test: KeyPairValidAndConsistent
Plaintext: D391B4F3B53EB9B035C3AB1E3C6E
Ciphertext: 05D90F9892F6DD3DC3654130CAA312D2287D9E57607C301BE58607BB19FC78D67F2082C907FACA819A0D946AD16B46FE1E7264BE7D25D4EAB4F80D136E89EE7BC53B65CC1692581E3ABFA3C15482A6FEEB607AD1765897E67BCEDAED0E03FDE18E05330A99BEBB8710C77E7735CBB747EB507FE1EC04F239E964B509A4FEE8463478E28BF5338AE016DED9FE6B2DDBD3FDE467C45F0FA619E039FEF085D2F1544EA3CD
Test: DecryptMatch
Plaintext: 28
Ciphertext: 066BBCB2D9E474A2C6CD514663BDA7AECA1F79136A00C1F9BDBAEDE344872093E67102307C96BF824999D86543121CC3D99B5CC4B511153A42E8A1569D063C27788E105858AF8EEB0766FAD9E0EDEFAEFFC733BE6824644CEE03AEE5FF15860CB3CBF4A46F95988D5E010FB844F944628043C830E575964EC36E2C38326C771085D796F2C22C0969E58665626415463A3CA1F56C357B
Test: DecryptMatch
Plaintext: D2C349F40A24230689EA15736C3AEFB1588A
Ciphertext: 019A66A4ADFED556BBD1E58728A3B7A3631458DCF677BB155DA989827C2240A586783D8C5DB98E266C39FCDF6FB016BBB25D53A6B30F3BC9D1109CB908B54F1932335F3DFC2C80847D94D13C5933953EA1D212107AB42189536171069621403681CAAB2A13EEAEC847193FA6A0234FA8F107E2C1747425584EBB4F4D702E29A3A09580E25B34413208009F9643327A636DF622B7F0267D3169A64646F301C584F64066801383ED
Test: DecryptMatch
Plaintext: 85D75863811C6F574222B577
Ciphertext: 02C6FFDB38965F3061C736E633B497192862677CB247A37C5FA1FEB4F2C021EA94C65AD9506C73C2E98ADF0F340DAFAD2BF6F6CC906C93655594D093D4B0F6867755013C25ED0AD75DC9A04DD0666E6340BDD6C1E748479F3D64129F76B5BAB37D26319287EC9D65CE9E2243D4CCC7BCEA4065623C4D388A7BD779941EE541DD29E070F7356ED1A1ADAE947D79F8421FA717F933F08CBB8B699B551F1EFF75B8F5
Test: DecryptMatch
Plaintext: DD07A91D32C26D3258AA4ABBD82E81
Ciphertext: 05669E0777B003CC2EBE9BF3981160806A8B416A2DEAB4058497C5AF6A5C8F8D1ADF1225CC6FF7D292320E9C98CEDA144862FB4E32EE11AD9CC76A5C85FAE56A2567E6C9D168586F288CF4D525C94FF9F0ED6C3DBD08787768B90F8CD776520EFB920E61FB0E4463BE8D5AAE2683D31F392229A9554E0977BF25BCBBAAC7BB4FCCB009630D0203451A7A2AF847BA60AA0CE8C4D656DBED02353B92025925E1A0A6DF490F
Test: DecryptMatch
Plaintext: 0AA6B9FB846D1230F521F2624127
Ciphertext: 01A9D56F1547728782D4F80BB0EBC8890BAEFE994900F41D56094F4734ABA2BB371060B2A69C6B7BC8944358519D141FC277E1195B3A78F7068731C3AF3C604A062A0D551397CD804168B7F400F786BC5CC3F912457AEAD56873AEF1A2378F34E953E240C20FFD7DDA229D4C020BDC68684A53C0AB3ACF9B44581353C60CE9854E3451645A604BB7AB3EB44088A07F59CE0FEB6454CC5A83BE5E939B317D4D8537CAFA
Test: DecryptMatch
Comment: 1028-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b0281810cb31a78b6\
6dafe2dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190\
f628033471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797\
921d3c4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90\
586b0233290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106\
598d3c5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e2\
8423b8c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c0\
97329bcbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589\
e8e607c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b\
020102041702151c0cefd22a713385985cacb5fe84cd40e724ce9587
PublicKey: \
308201a43082011806072a8648ce3804013082010b0281810cb31a78b66dafe2\
dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190f62803\
3471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797921d3c\
4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90586b02\
33290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106598d3c\
5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e28423b8\
c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c097329b\
cbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589e8e607\
c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b020102\
038185000281810aacd80676c540b97f74d2a94c2f389795c9f696d2a1fa934d\
20e93d49d0099d9312552e6e310da5d97cef87c9a5a4c47e7acd195293b09adf\
db8e0cac95139446aba60fd625d17eaa102c7c26568b34891edb38226f949656\
44a9d52ff299cd007ab3dbc15779d4388431a66774ffaae5c6be04526b28c620\
ac97e8618cb09d46
Test: KeyPairValidAndConsistent
Plaintext:
Ciphertext: 0194C64DEB9CB401573730A29359456F4E9528347ED80F24E5AEC4441E896E38047EF95AAD9AD7A25AED6CC89FD95CAAEF27F3C814C26FE43F6D65288D87E372A204D1A66C3BCF0346CE89E9D2D7646E90BACB9A85022ACFEF8903C72A663BAED9A346E1A6B2B2FCF70E239EE70A34385F8C76CDD121F6B190085BAB3300E6B811906CE38AC740FE88A3DF8DCA1C6DF73A03236D51
Test: DecryptMatch
Plaintext: 9498EB7300
Ciphertext: 0A38C373F6A96D87528D2D55F6391A9E801252A65F622F36A130ABD140E1858024E31F247C3BC8C07D9500CBE7A8A3D6C0670AF0FA14D020DC54B201E657C233F8031DF990AE801077D4D3AD9B861F4C32D36FFB9E8BD5E2651169BC4560CC7FD02159929AA50882F8B4C8508BB98F6BE8A6A7C0E21A2A81AF781447ABEC85C170F3F6256C3B6C5E2D3A01BB5EA8B502D37561C06F1DA536BD59
Test: DecryptMatch
Plaintext: F07FFAC9794BD8D528F750D50C05
Ciphertext: 03DAF7F6C2BEBF8D0B380EB71BD8BEE9D649AD7647DF6DE4CBCE00D0363E31F11E0DC0331409863E3C069EE3F975E7F623B55D7F4690C7419C5AD97EB52BBC0212D3FF0A83A031591A31481116B2CD232A9C86A20EA40BD13A53BB73E644A6C7DC1E6C767756E7235538E9D5B155B3173416E99F121E96E02034C6DB9129489A050740F603DEFF96EF1D99E7EB4A32083D0D946670B1AEF30E1E38D3F076D6BCB57255
Test: DecryptMatch
Plaintext: 85916A46E0965C69C4773C7DF9AF
Ciphertext: 053D29F0878C68FF55FFC8E6E0E03044AE23B79588034F0236A49A5B6D00EFE8C564D2D29ACB61FE49C0E984EFC3A48A96EAF22AF3032D8D0FD3B3BB16A0157C161F2B3D3DF802FDD6B61899212F44493383DDDEA8B2463BACD0C5E1F4F9E4063DE5E52032E7DA8B79E04C5F03144CD710ADA74506CEC2D448BEA0F2B59AB63FCC443BBE920748E122DDD6123BDDAE484DBD02088817D999FDF80D5ED4B308AF4C2DCC
Test: DecryptMatch
Plaintext: EB632C72F563174E680961BCF26EC7
Ciphertext: 0BBE666C02191F668A2DB000646A14385A8E9199BD887913BA587DA4C683535801853186673AD7C43EFA5B65902559BA5345EFA111E0514D461C1B1EFFAE58708EE6C17F1758EBED31F0B3206B0EC1B4BEB2EF911C589E25CDC3B0020C47119B5F33EA2FB7C332CA6B1FDA2F350A4CB0D6844637F2CCA71EFB036C7400957AE093B21BE90E30A8672847C9BA5266EBBF9D62341F67A4D09FFA196A817DD2F5EE1A9654EC
Test: DecryptMatch
Plaintext: 42B5D2DB89374231
Ciphertext: 0085B6894D887B59393F9D7365411DF239BE1104FD86CC63A52C990A84FC4660FF9B60CF0641E44A8224C169A9FD1B35EAF78008E34F14B5311CB5D725096D9DE92F35BE6E71E3AC3E3B3D68BDD5351A5AF93F0B3BCDB00B9B126D8DA07E5F42107181F9580CCD0D6F086C94177FD48ECFAE3FCF2F26D64940D749E8A964275290A247AF700210500517BEB2175326F4CD3016AB175B352F9BD3289079
Test: DecryptMatch
Comment: 1029-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b0281811b02fc18f7\
ba0ae7f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5\
c39a8d6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a\
3b2d0295c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb639\
7abf9c4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d\
817e0c7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2d\
de0c865ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758\
cb1ef2cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c22\
0d67db1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1\
020103041702152c7c60166a1bfebb17831e65b8e1f61f3ef9ed9ff7
PublicKey: \
308201a43082011806072a8648ce3804013082010b0281811b02fc18f7ba0ae7\
f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5c39a8d\
6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a3b2d02\
95c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb6397abf9c\
4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d817e0c\
7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2dde0c86\
5ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758cb1ef2\
cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c220d67db\
1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1020103\
038185000281810e6e9c7b74e33a1f4683ddfa35509c39a75b75c10f438efad0\
82caad08a7418990983150a9a5ffe3f8e340443dfbabf82fe060da487f94afdd\
1e713d491b983fc4fb69d4405a12e356808c5cf6a7bd397c1a5637ba8e168b7e\
d3f549a9f39f343e8fe3992706e782a1dde5c5e9e6a950f7d980835c1bc1742d\
c2840cb2e61086d7
Test: KeyPairValidAndConsistent
Plaintext: 03C57B87
Ciphertext: 1440C6776914314A1DA161EAA41D52B283E2C0B487C801CEC33DCDB639F579F69D12FD029C994A311913EB6869C7A5659EE8BD9F5D7225BBB2EB77CF6F3D24A5E9866BD2CC50E593EC5CEBA4A96C59FE8B98B5EE2121E5892F2436F98B5C4E4A12077A1A64F1FCEB783D05453A657BB91909637063813CC00754402DE24F4AD6C0D9D4C15B7F4E485AF3538D391CF5993A59F6D1FE6C76E2A7
Test: DecryptMatch
Plaintext: C5598C0FE0D90B10E7125079E2EDA32E531C2EBF
Ciphertext: 129FC863B70BB82C1C59EE2DA37FF3909F1DAB4B55D9727EE0CA3311BE5797F93446ACA0409CBFA848A90756D2598B6ECA56F6341C6E9F716A62380CB5D47400CF392A5441DA5AD2C1D066F894942837EA7B6237D7BE2E94FFE0A106148C2B7B9AF624242A945BF3B217D89FDBB070FA5940C1C899AD83AF1F865DEADFF0F4E48A7E00BF7AC5625F6E32F8B01394AE90284AFA061AF6DD61ECA1B8FA77CBC172573A9938332D7AEE41
Test: DecryptMatch
Plaintext:
Ciphertext: 068117F2BCF29C72CDA3F4560A2165B7DB7C29314EFEC8D110425D5AA02F35C0F9A2304A0554C097944EF3A615BD70F5461E6549C319AC1207B100FEF022410C46284CEA9CA103685A18EC944DEA0BAE8E06D2489A3E2D1D9B255F192677664CA6FF44130C28CDE1FD437E85396503DFF305BA2D64E8BF9C75B00CA1595A1AED2C60865C0DF03F408EF95517E70552B2D5A8C190DC
Test: DecryptMatch
Plaintext: 8DDB5FC737283E5B
Ciphertext: 0B3E0CE51E1D3AE240EB34787DB5D49D6786B3BCC29C37EF8B9155F342C4D226CE1D07F7BAE09DFF7E8CD89915E1312F43540A26F03D918BF56B07E6D07A96870362643092F24FBCC6A2DE62F637B5F5F807E430DAF9B7AFE1890143591BBA035538FB419BE4CBADFCED5EB8BE2471B39CFCFBB2BA854C9E0F52E67524ECB80F9FBB3173D2A18C9F4C43F4E20866428A9256AB8AD199BA0BAD55A18896
Test: DecryptMatch
Plaintext:
Ciphertext: 197D4DC43B0716191F926DC806A1B707ABD6684735144AFE07E0EAEEDD9BB3C89B9D0076859DACE6FFF9E2685592ECB010909910DCA50D2FB1B15EB9B9CFF4F71250D807EDDC2EFB2033BDFD93FD10E117683E3E4E8A5D3308572D4852954BD51251279A79092E3DCB95F1FCEC8310931933F47998DDB61438478CD80864F08D3370C863BE6E7E1CD22E38BC512D9A160478814057
Test: DecryptMatch
Plaintext: 53AC983CEE599A17261C53
Ciphertext: 0E31EAACA9E8A86ACEFD1CB817869F48EAB342EAD0DAFE17B848CA9CB72B92567987B929F655B8D601EB1384BE380C8E4BA8B4E274F724F02FC5C00479C308813A3963E2D8AC88ACE92AEB00AB024A4EC5560857310E03009752B86793B356DA344B4AEF01F3ACCD9CBFBE399D0016260C006FCA5443359EA1E012D43921B8D2B8CFD31B94972ECE9C0031420238C76514635E9B40F17D9AF25A1009DB75E4C0
Test: DecryptMatch
Comment: 1030-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b02818127b35992d0\
8edcc7aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f\
14150bb5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b\
30a24929c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08\
dbceb78c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113\
d9acc968476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13f\
df8d5e9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862\
a47183b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc695\
88bd8d846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919\
0201030417021513560b35fe90d01a106b1e6ccba4cec953421d48cb
PublicKey: \
308201a43082011806072a8648ce3804013082010b02818127b35992d08edcc7\
aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f14150b\
b5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b30a249\
29c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08dbceb7\
8c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113d9acc9\
68476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13fdf8d5e\
9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862a47183\
b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc69588bd8d\
846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919020103\
0381850002818117f468e3d38f1198556447bc16fb6c6ffe98b31f9042e59602\
c71286db3e0780601e47372e6eb4a570f2059a7a87ee4471eaf94bcf23e34017\
5a377333d39dc64b7eaefcc065bef4a92d0d10acbba71082852c2014d9d3eb2f\
8583947c2cbf52865730d2b9511ed8a68367e4d89eca4589b836889cd424485c\
9305bc0386b16619
Test: KeyPairValidAndConsistent
Plaintext: 4424
Ciphertext: 0C570D0317363DB43DEB295D49A3BC937116F2ECAC9226415952CE634679272B7041A4B806164F12E87A0050AC2D60D393F845965CB3A56FF0CF28D31CFA0285015452C59949E3D96C5C6D1DBE38F6EE98E2C93357E6C036053DF920C7CA5E2EA1617AE44434A347FCE426C55295172ADDE9CAC3AEF2C6D6AB2C8F0FAB1B146FF1A10D5EC2191C99D6418519443EEE2A198BFD159BCC63
Test: DecryptMatch
Plaintext: 5092C5D9FA398EE31AE27C97
Ciphertext: 196476CA0E6622569F233780EE0C449C2CAAD3819B348D01B4DE5425EBCDEAEA739C6D9CCACE4DDF06520E83C94D237AFD46A4EFED635112CC78534E2FA6046ED6C06806EA8F4B9F3FC3F87DC55F63B9E14F9ABD82E9CC80A298DB281C9F690391F5B064880CF35C5A0BC7537DE9F65DEB2467FAB5CE8F41529A5B06BFA6B587ED661849BC7388277AE7F7E5EFA3F2526E503ECB106B718275BF32C4F83278CA30
Test: DecryptMatch
Plaintext: 89BB350DC43CB3
Ciphertext: 13844D63B45821E8704A9C1F6E9166B5EB7FD98DE5369E5DBB9DECE506EE467294282B5B174EF2F81B6766A3616AC5A974F06D9C47163C69668F4C1C78F8A6716A4EC28A6AE25F615A838B9C747EE857AA2AC92DEDC575AC568A78E8A86EF78D55EDB88707F7B6D558E8A760095BE8BCD066FC57396E67C9D8654245676DAE9FC4BC9D578496CA450B35E179410A5DB443C2026FFF0E5F7E54821E39
Test: DecryptMatch
Plaintext:
Ciphertext: 040E084ED4A1C135C8867BAFF219A0092855E1E9FC96F38277E16B96986FDEABDC22F3B02CC53B655369DDE3356EA6FE49B77C8EAA49815CD5B1DFDC6E7D0AF6AA985483345BBA8A251F1EC7658DF708C8EED8AB6B953393C03BA2EEDB8B6391D921C9EAD2AA61DBE724B15C9C664EC4EFF83A535E46BF768FD519B043DBF46A36FA03921224281A826F6F43DEA6DF38749D600317
Test: DecryptMatch
Plaintext: BB296D4FF04AE0171F1F24AE
Ciphertext: 0AA9A85958D9F1BB06E3DB48DACC842534915A7E42715057BD33523EE756F62AD973E37128BB8031358A1DC583F40598B74F079AD667C037D4BE89938233BFE1C167EFE764724F97F2EA42479FB455B1166AAB26A43440867ACE77472CCB13643D5BC9532F68C5368825BF225DF49E2D3BD023447A795AFFE927A796C70E5D6359537A9CE2B4B9323D7FE208540CC32447940ACD91F4718FC7A7CAD45A524B6DA6
Test: DecryptMatch
Plaintext: 87A2C6B33856C6A096EE
Ciphertext: 12D17080AD0E7FD426E02B6A90736AB4B566F31E937B2D3E642D663D6ABFEB903FC9C4763AE492191E0C15B264CEF321DC8747C590F751A9BA2825D9250F72BA85EEB45B1F1D7B2BA972455DCE7DAE6CBD7B5BFBFB88FCEF52910F9B28D3DCD6BB5D479BBFC73896C3D1C44AB387989DE4D77855F6B8C7A8C12969D51DC6B10BA15C2B19E91A55BD5542853EC6F8F13260E8774C706958B1C9866114FADA1D
Test: DecryptMatch
Comment: 1031-bit DLIES key
PrivateKey: \
308201380201003082011806072a8648ce3804013082010b0281814ff13b3664\
f5c527c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7\
ec6e95186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660\
c5d985ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa4000830\
2c1eb24b866cf467f570e782bceee66e15585f70b0633965c870530302818127\
f89d9b327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b9\
88996afbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a1\
9e40733062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd\
52000418160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981\
020103041702150910a291c216ca5f944c5f3eaaa1535c3b8a1f0b15
PublicKey: \
308201a43082011806072a8648ce3804013082010b0281814ff13b3664f5c527\
c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7ec6e95\
186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660c5d985\
ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa40008302c1eb2\
4b866cf467f570e782bceee66e15585f70b0633965c870530302818127f89d9b\
327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b988996a\
fbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a19e4073\
3062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd520004\
18160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981020103\
038185000281812e9a62ec280cf5ee7d09e5e5675b67a4c325c7565a1129c079\
095d0f078e7b8a5b3c947c21c022f01c0b9267a45fdd9f267e63c7f674a02d39\
6fc59a960d7991d2e3552d01deb2784f26ec4c9355c0df0497271cb583d157db\
90b0634180578ac85005143dda75a33a127df96639e275cee8fe9c02db62d2ed\
879f3caae11d6e00
Test: KeyPairValidAndConsistent
Plaintext: 1FBE21CDBCEBA28625584CB1EA0D9627A919A6CA
Ciphertext: 2CFC251CB2A397880EFD0077D9CEF817A6D69EB6278CD82998C5988DD18D6ED15FC8CAFD1611DE58BB46BA8A87013C7BBD4A8DCFC454F13DB282BBBD4E1594E6AF17AB6219E91D7354EB88515007B58BF0D8FF4BD4C387FF6E02BF81455803E6A936F25245863F1580F00ADFA4BDE052BEC72739B88042CF99480AB6F4489F9C8B9319828A000FDDC4D1A6E49868E3B39DBF7DCDADD9B882B755E330C762FCC023EBBCBD0330D28DB6
Test: DecryptMatch
Plaintext: DCF33FA5BEDFDD93DA
Ciphertext: 14BA927F10262B134AC43F6787EAEC3546C17EFE3F6D54AD2A245A0EE732B749B7312521372F21716E1DE29AF8FB329C25ADEDE2DADE3A455235DAC6C1F347C2A052893DBA6511C3760384935D68C7808D23CB194E6A19F579782B22C3D8880736BECE89FD75E7E69022E9B2500E5A044105B832C9BFC5F18A807889B401E61A9888276B31FD299D604AEA85091578D41E5B36D66C4510F4B147C5E59615
Test: DecryptMatch
Plaintext: 217B0E
Ciphertext: 37B50EFF3A3FDA419988CA44CCA3AE95F465A18C89CE2DF025F565DAF0F833E198DAEEB46517FBDE47AA3D5DC5039B873A31D0DEE1EBC63F3E97C0A63CC05A8F877FE70EB7F6198C088FF35C1C369616D3EACB013F295F764146A5AAA2D21CD36B9DA4490CF1B37D379ED7713B955C3B0581650B5C7F4F5B8F45B89B94DC364D3340414B491C29AAF2E197AD6F59B0DD687F2E60F8826169
Test: DecryptMatch
Plaintext: 36DA002D110CD632A9969DC42409B478A3AD3B
Ciphertext: 37126F749ACDF2B6BF667DE9635CC0BBD61753B30931C847B612936C1AE122D6F0E409B4E9454852540C5FD8DD3DA8BA4026FBE8CC8449CA0071409DB47165907202DC078E5A8F6B0E9C8D3497A2D02F53DC3A47389C1B3778EDDEE980055BC4B7EBAC0B95C0CC4783A4B202CE127FA0D7B65B252492A1847FAA9D1ABE893376917BCD46DB4FFADC06C880AD848683B874F7CDFBF0E4BD87AFC39303C512C44EF58B510702C1129C
Test: DecryptMatch
Plaintext: FAFD
Ciphertext: 0F63F22B7817F2449388E0422C6122200D76BA8D4CEDE63DE950ED26768E6779BA0A238C8C3F2CC5C87C7926F1247A7067E27245423EEEFABCDB606976BA2FD9977320F903733FB57D02620682820B1AEE165604410157C5ECFAB7090EE83638A99E4CA36CA0879D3C14856A3417690A52F14F33CC50FE44503FC47F2D90C096C03F62A85D88891E9568911AF61DF916C3677DCF152FD3
Test: DecryptMatch
Plaintext: 9E9145E890FEEADC706AE1
Ciphertext: 0B60A14F132D21E47E2FA20633DE43694EC0394115DB297C1B68D1A7EE7722B6AF5D149A2EF5D0EA05761C0FABCF8C0862AF320E9D273AE743717F78A46F15B640C87F4AD0C25865EA3453B0FB59D997E41A31B6C1669F14639E2F70F7D4324B8729A26C8869D97B432740F7CE28A74EFFC82AD7EF172A02AC678C13235BA2C6EF79143D189838E1F101385BD7098AE3B5B78A80964D5C0A3D7DBA7FD7328BE8
Test: DecryptMatch
Comment: 1032-bit DLIES key
PrivateKey: \
308201390201003082011906072a8648ce3804013082010c02818200b98458f5\
ada1f23f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49c\
c76317f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7\
c9a6ee6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50f\
a51f07549dc4f9a660842724566b94d6e2a58980d2d20281ce6c327643028181\
5cc22c7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c4\
83cd724e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135\
a21579fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047\
519bfa87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b\
210201030417021534999c0e7b17cc3c110cff71571e8d4708c3122a1a
PublicKey: \
308201a53082011906072a8648ce3804013082010c02818200b98458f5ada1f2\
3f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49cc76317\
f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7c9a6ee\
6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50fa51f07\
549dc4f9a660842724566b94d6e2a58980d2d20281ce6c3276430281815cc22c\
7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c483cd72\
4e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135a21579\
fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047519bfa\
87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b210201\
03038185000281813c42dc88e1e15b9a737bfd64b96a7448983da5242a6cf43e\
1cc72e8886db723b681c291f772bfe33de5ba735404581c839341969a691c199\
229c2849c1c8c80396837c71d711ce34129d3006aef9d16cac504543c6e570bc\
3d730d5cd35d8a375edacf591b2837f9a705d63dd62754365d13c103961161dd\
984d89792985ad688f
Test: KeyPairValidAndConsistent
Plaintext: 23
Ciphertext: 0BE692E3384A784AD01D80A65D22B48449AFC0281B36085B0D8FA03574B4BAD05F754D6FFB8E3F4B4BFE60FC7EA2BC1F11253505C753BEFB1D3BDA0084E6CC1FD82454A601F1C0ADB52B3FFC4895D36542FE0139465B490102C7B6A75C9273B737536DD122CC8C3EA0F32900C82C45B0FEE97D995AC5B4345A8899DD6888D1E814BB5A1141A86E636D31FA05689ABA512DE869D12BB4
Test: DecryptMatch
Plaintext: 4F571384FD52A9041C8F3094
Ciphertext: AB7942750662F0FA422F4628B558938545FBF7C749995B4D5B32BBF392292FD1B4EF02E5A2EEF6874BCA9F0D4CBCB92D684CDA821829850BD4CAE110E78E42909CF069B54B4BC7D742E113E57C85BCF54AA5CAE1005516BADA834A857315DD6C3DEF4AEBBBF6CB4AE217107E16E83F884B2933EE618F22C45B78092B2EFF7D5C33DB7D89FED4E134921DFD9DA999FB8AFBFD094D77BD887D2C86AACC401A621905
Test: DecryptMatch
Plaintext: E421A467654B3B88C93C8E5384FE2B85D4E340
Ciphertext: 7485B8E5360BC1383FCE1C586E126D5DE89FF1CA7CC8146C37A1E6582A564C4588984915CCE9635EA6ED434C80CAE138FBC1EB15D16B294AC1E59CDE544E4DFBF276D30A7F51461C2B7E7F076222DE6AC534DC47E015BA85062694FD78DC37E9460C10FDAF2C61FC7EE0669E99793A657543B881B50B0D3916E395A959EF55B02DB8E7B4C5B5B653AE2D11CCE639342C8C77C667625116D9E6B6C6AE822CDDF2AA503EC3FAD53D80
Test: DecryptMatch
Plaintext: 3D6C941B1F03E5C9A4
Ciphertext: 684AA8D2AD35D2775BC30794A078CFC931096A37D472FE511F72B03B33E87AB1E7B958C3447AF6285AC379379E0D1F1BEC535E4032E186573742A75C1B42BDC52F679DCA13B2B9E67CC73461084DE1777FAAED93C7C1E4A6B19473EDF6A57CD88C076574A356748D501A05AF66A136E908993A0A70538FEB03109C62A41540EB4E166596887B4860E3AB0BF9C1AFD02C67D4BFF28BAECD31D1CEB207A245
Test: DecryptMatch
Plaintext:
Ciphertext: 111C252A9E64FB777F09AF6AEF9C4210B9644C3A66D5528C631D5348E30B146A6225783DE1FB796DBAB3A901E37818B5AE49BF1F8CC0A6C8909D2DB06D651CB08009A25E13A89653DBBA5959674E37BD72039D4E7BFFB3A2395DF8C36164C3FA71334DBFF2FACA090F1C349BF68443838A0D893B9B498D3B6CC86646F935D5ADED81967A387506688B6478492129534F3A651C9985
Test: DecryptMatch
Plaintext: DE5F0B92C45A0C1530
Ciphertext: AE6BAEF52B43EE88AEA7796D667D044887407ED07E7618358243A0108514FE9793EB28EB42B4BA2F28F6687FE7973FB8DBF825541010F1BC1FC7350CBEC0B055C0C71FF2C4D2634582C966C1CFD3449AF8AC956BEC3EE797F7E81E589450EA13C1A8C99116E05E49F4BB87C9B95EFDBEB35B21C36711CEC8A1ECF3E4F194251563F88C056749B835FC19A7CD560FEC785207DD14D43C6104D83BB05F1DA1
Test: DecryptMatch
Comment: 1536-bit DLIES key
PrivateKey: \
308201bb0201003082019706072a8648ce3804013082018a0281c100f9566c8d\
687a5ead7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d\
7e042544235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cad\
e7f9b18049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684\
521bad52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b\
290b7fdc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd\
0229e53bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07c\
ab3646b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126\
150736bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b3476\
3fb656f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7f\
e10342290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08f\
a35b1d9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60\
c5c15e8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02\
0102041b02191d78b208d09b23e859be7e79ca76e612d8e5ac75a5ca02c506
PublicKey: \
308202623082019706072a8648ce3804013082018a0281c100f9566c8d687a5e\
ad7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d7e0425\
44235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cade7f9b1\
8049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684521bad\
52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b290b7f\
dc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd0229e5\
3bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07cab3646\
b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126150736\
bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b34763fb656\
f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7fe10342\
290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08fa35b1d\
9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60c5c15e\
8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02010203\
81c4000281c07a5b4ddf442b2cd7fd925be84f2ef4c4032d61c5a55c5949b30a\
765cd4d5d4566af37ffa7f814f51bdd71c3e5575c6fd0203f14d3ded4e14baa8\
2747a6437d35ebc81e2035bfb0e04087fb5fe449163377d47b045b680b394962\
20b3138e85f6d24e06f955ec7a1b785ce34c2926cda441bfc86ba2f44a489a41\
ee1740ab5ec3daf6d2c598e1d143654c05ce61792b47ac92c8d6ba0711419e41\
221743b768eeec2601f66d277fba154a62dc996537a0caccfa313cc9fde0194c\
05493aab1f07
Test: KeyPairValidAndConsistent
Plaintext: 9302C420D137C310
Ciphertext: EEF64A81C754B2EF543A19549AC0FF3F44E4B548284ABAA1E5F1EB704B0D246749D7F1CEF7B20A5226384DBE8FB596101591BE2B53E9909EE3723CB70A385FC2DAF6CE15629EBA21E7F26223B0A2428D8931CBB4F1B281E318A540F38A809C8BAD92D10FDD63305DBBE972E6CB973FC4F2FDF0BB9CC37FC42C7AD76E8DE3FA91E5E79B09796652BFCD62A28A59D9A97759032A0A78E0E1B081DF212A15AA44E35DE9E291EDA499DDB631486C029D56052246C9E37FF24EE9E86465B3B55BC4BAD77B9AC873B6F36EA65892B202E320756540009C81B9C6747BDAF40E
Test: DecryptMatch
Plaintext: 9FD4F26B7317BBD1B235
Ciphertext: 514DB5C63AD9707197B4F0B2A30CDA18369B963E62F7ABBA1E030E08D3DE4E6C17D4BD7CB8097C2E641FBB0AED6A9FE7FBEAAC1C6B85BB3570D0E86FF6105B9F8C9B562A4EFE4AE3AECA26978C514129006D22C108B1C8A0FA55864EED3D3F81643AAFE36DF1CBC3B4E1B1AD6D5E0612214938A55114589B97286A7EE5B04E39254696DA91453027F07346984423FE2784DEA9375C236E6640504B5BCAC32062836E5BE1695CE73285CD77CE9717FA38E080C28C2959D9E32A589C04ACE5E52970ED49BE34703AD6B9F024DDA176C631EF5EE76833B427E233A5DAEC4328
Test: DecryptMatch
Plaintext: 337D8BDD32
Ciphertext: A4EFBF2151DAC683F0C51D60A647151A1EA0C0DAA8CF3497D7116439E6AEEC62A36D06F89AB2F1886FB9F62403E3DA8D6F67F66DA2436EE20FFBADD698DF87EF40470749C0BE0414A7AE4D2755459F8A17F6C7D8920236400313D7846532C391A0A4D99C26C556772E2D3C74E0119C4CEC7EF224488BFEBA017A910E5FD167B4486E436F7481DC5A46F3FF0536193C75A857DC53C5242C11AB911BD21926462C5060BB89F71D99FDEAD3D16B1E21E0D0791B59ED0F49871F744B13F23EF5028C238B895532F90B0ABE9912644EC079604939A0CF519BA9D185
Test: DecryptMatch
Plaintext: 25549A5AE844ABEAA694E3F6
Ciphertext: E2B30DD7781DB7EE7B2EE3FEB77F7360A6069396D8BF1DFD85D5429DA5A156677679085D612D0FCCA0979C97E924E77C43D3702940DBB556A5BB6EA33D650E078B1CDF8E5F76DA6591D0AFF4389A3A982A9AC581BFF393B35D36894E407AA56B493C2F7C4CBB75AEC72394AC4F8A99089702F3AEDB2FC7486F5CD01691C3C8F8FF3E951CEC70A4E172B763124BE1D9F96DBBFBA8FA0EBD1A71067A20F68DA6AAAE849880DD7F88901DF051715E240BF0F5B49EEFE35B9B0ED2B69757111080DCE2E2A933CFBE8FB9E6E9A2C2C75E0A4228D06689796AB919EF80405CBF648137
Test: DecryptMatch
Plaintext: 5E61EB24085019F4A76893517C0A13
Ciphertext: B13E45F9288FD2C5C0FEE230D1A09DE376ADADB5A4330F33BEC04C6F14C4A1CF3789B976F402F11611AB8345B2EB1069CFEE1E2F482A02A0ED9A3B9D94EB78C7BD7222ECD48A598E34D1F0B6205331CB20E0B2C6C146FB29CC11BAD5CA06BCA3EE39DD536FF330663A817ADECCC284B92F6AE3EB75B00316992BEF8A955EBB4DDE2CEF504E9298AC243C00FDB64B6AE96FD7B2135E6BCEFA7CBFEE135A650AA3D8CD095D1C9156232DCFE1904BC4CCE58B455CEFDDEC1D201B07ED4F999D6281AE21C2008525DB24BEA2D9FDAC1BFEADC3E6E6B1181F1A55A75976C565BC28F177CF02
Test: DecryptMatch
Plaintext: 87
Ciphertext: 174E5CFE167D4F6FB9A8FCC0FBEFC12864745900F5A18EA92282C8B6689EF53BBB87B30FC21DB101D93E9FFCED05538EDAB59F9FA07FB176407651DD0C4CD8269B1DBB70F24C8177EC6E16294CF5E87A3070A077B1CE84B612C3E3B1D4FD60D732C4D2CAEF5AC442A358AD0F323E60F58FC8B29894F3EAD3AE0DB8FD08BEBCCD4220CEE6B7C43A5E769D1F890A6B6505EE7FCDC7E399FE5321C2792D7AE094D13EC493CC0911B3EDBA6DAA037E2EA0CD3642784FFF2CB1BE04E5B12AC9D2871F016D8BCCE6DF25C1C04D912CBE707FD4DB0F9E89C4
Test: DecryptMatch
Comment: 2048-bit DLIES key
PrivateKey: \
308202400201003082021906072a8648ce3804013082020c028201010096411b\
e93e733637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fde\
c0eb03bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48\
e2d660d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698a\
fd3cfa0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08\
449d383b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e56\
7feff6a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe25\
38816bd7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba6\
40be7cd5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201\
004b208df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c\
686697ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd71\
37c195a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075\
fbed34c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583\
d22bad84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f\
056a972b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b\
8f4fff129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a718\
63601dd3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974\
77020102041e021c614682228a4bea799d01008a4bca099e7cf7711d7914a81c\
39d2407f
PublicKey: \
308203263082021906072a8648ce3804013082020c028201010096411be93e73\
3637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fdec0eb03\
bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48e2d660\
d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698afd3cfa\
0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08449d38\
3b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e567feff6\
a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe2538816b\
d7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba640be7c\
d5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201004b20\
8df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c686697\
ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd7137c195\
a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075fbed34\
c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583d22bad\
84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f056a97\
2b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b8f4fff\
129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a71863601d\
d3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974770201\
020382010500028201001eb30132e415358b7d3f726b93e2eeb083fe7add7abb\
6ca352c9e09b365e5768ce032ee52d59f1c65311045c490c42c36ae08cd0264a\
26199aeec8c3a8882a363397b4d7e0b6c4abc407f27847be0e8477993069a1a3\
a3fe68093e09ce55bbedf97c91e741ad2eceb7a0f4be6ff87f68deb03c5280d4\
8fdf4900485bf5ca20257b176f58fcee1f0451b3716862488b0642bcd76654ec\
4874512538976967a545cdc208a0050f26e541ca70343f653222e6df7aaa07cb\
cf354a5ab910eb8447382d7f512c440982ab37a402c87d2888eecb35c636ba6c\
84a5cce917f234fc7f8d9167167e30f2840407e13751f1944f6aceae3f5a7025\
36723c1d88c8c04981e4
Test: KeyPairValidAndConsistent
Plaintext: 5EE1
Ciphertext: 73279829369404A1B68D5E86FF334259936133CB04C9186CFF733972054918C3285EE907C2863DEE872252BF03EC9FB088B8DCE6D69D78C6BCD6B3FF87E683C6CF3CA05FA6AF0C068D964BE01030A3AB4E19575811D141A59CFBC9D3558E48CB771D88CB1E0E6C7ABED041077D24005E337AFCFE8531569FE56E2CE97C40693C071409888AE46DAC8BD739AE0E1C392586917FE07A66F7D3AAF0DDC398117B594481D0D5CD19C8708DAED6338EAA552564C31F9548FFC7E5C641FDA95B252EF637C6CF708979948A3E6B4F37A9ADCD60BDD841F3B0945CFF55E2F13468EC71C550CC2AD48E7E1FB444F132AADB1EF2A7C5A22450D0E0CFE9E37D999B4794B5A594A4EB7ED406DB24ED541E575B9F2756545DDD34F6DB
Test: DecryptMatch
Plaintext: 0252EE2E1C603017
Ciphertext: 0E742D794904D05C0F0B6F60E9655337F8C110F289C6E4A0D6FBA6A2A8EB0FBB566A7F9B9862175C7A00A8205E8C8012366023FD8DDB6EB713DEF86917233DC5D16C2822707230169C183FD3A714806220D7DBA735C4F747A23E4131CE12C5572BD5E659F967A8B7DAD0EB6138D1BB569C6F04EAD79F9A6301609697F73F6FD8CCE934FAC6FC138B4C552E211FB1CC242805C035815F462D0291537DE10632141ED0A7C22439C7270AF0A6244C073CE9E2654FED918C86697988B0B341C5EAD2CD6DE75EAFDB1DFFCC5FE465E8D8C9A34D5B7F0E9DDE62204FD12EE2F99435DD58F3254268F8E6CFFADEA9205DDFCC943004887C405859866A0A40456A6C50B57FCED319AE0EC92B9069F765013436FC9A0253481CBE12B707A2B20D
Test: DecryptMatch
Plaintext: 01AE
Ciphertext: 6AB2E26D99942CEEE4844632355BB3B7713DF000DA11099D4E1BF9EDD1781A9396032E9D96BA0DF21B309A9CABCE9AE3D022C33A931183DEC5A3721EA5CEB39C18935A43E3B0BC153E4469AEB604D031A0084BE5927478AF8EA652D0A4AF455BDC57EDF26E2C6F9A01C91F29984C11D3C60313A53D8AC65D9FA504742868AD3D313506EB4FDD0E9799B111F3041F4C0547BBB06BF7DB20D18B427BCA1BA5099821A5F0997EF08C319B851F0C88B4814CAC7BAA4290B3182738C37B6ABFC2C4770A633F70E6FA4FA53AB286384FFC2AF9B64DECBE12C8EEB97862F76296D13D889E864418056420DCCD0DF9B76FB32FA6BDEE149585F427F133972DB7281D91D6E78B6BC46151901179D186CAAC784D6271023FD6E84B
Test: DecryptMatch
Plaintext: D52A1E0E3253FE281A9471
Ciphertext: 63F60818E399024073EAF02A7A419229EA4E2FA4126C910AE7D31DE7EB6C9502752F5B7241F2A133E9D71C1A75E23A6F5DBE36C1B661935B0F20123BF434153B1F81BBDE278611C9FAF9F56BE8C78116823AC5B5F355B88A82AD6A73D2B63BECFC7D3B39DB2A6B393E23826235AB76653EDF65DD7A94BD27E221E9D511041340FE83A27F7B26CCF3FA40B2BD786BB9D67D2BCED415F2F76D116E8F3EDC953B8A327D2846F247D91626F643F8DB800F5E1DF0CDAE2369AA8969A938E0BB5A44F0A9C0BBC7D15A34DAF4713531A7B6B59CCCA2282952B16A7E1A1D1CD47D8B2AC6A88BC6A85E692FED89BB3D1F16AC2A922836152059433A29F786F2386A74DD6F555CC8D06C890A4A93E9FE88CEB078333A631E9E3EED0610F0A17F2A4F8DAF
Test: DecryptMatch
Plaintext: 53
Ciphertext: 7F820C0C9A5709C6026E58446623B5D4B323BACE54724F456684526BD1966A360944227D04824B3C9BAF19A602EBAD25B8047FB6BF9997EBDE6B854140C032481F1479E4B994FC5A2DE8128375099A7A0024AE1CB985D73BB2B806B20E0751EA154BE2A70ECBCA49335BA57694DF1E0EA4566304B8DF4BBFE5AA41D0B767AE1679BDDE70F95E1C0C7E06F4A635F987E2858407BCA2133C3EC5620D58F1AB7FE1426B615959009A4706797FE4060E1C690DA373E48D6BA684F69E981DEE5DB9A58C504DED4D4CA6CD9B776DA03E55DEBA97E541A300465FFC68C5417A10ACED061023ADE00FEED4099180948F26F10D2F9470978469F67AE1092100C16D8FC4104DD1E711CF67D5842DE4102869E96E817F9C9FF520
Test: DecryptMatch
Plaintext: CEA6026338
Ciphertext: 13D877F0F00D01125447982639AC82AACF30FA0573001DD809C72D0F811138088C6D6D0569E63AB001CEB0339BFB90F7B71F339CA2F75859920370C622C0C4930B79B99DAC0560C763A1162AB46F58D1409E25301AE6D70DD4FA64984FE894DAD2B6401F8864580132664DDC2A57D1AF8AAE43C2759780C8587475F21275D61765251DA8FE91921703DC8DD279DFF4260D8AFE69257BB43EC609DA30DC33526D66E46365F399AA04F34FA7BA6469CA964AD6F2299233424E7342F1BF493C0BBB31FA1C713543D758219AB0F73B9C24F4699415F96C32E2A700669FCAE7EA6921F96288723ECEDF9677EF35702C8C0B71AC27A57624A7667580A2FBFF72818B2BCBA3589DCB686486FDDB50E29E75EBC8AD3DEDC8B741AF80F7
Test: DecryptMatch

View File

@ -0,0 +1,397 @@
AlgorithmType: Signature
Name: DSA/SHA-1
ModulusSize: 1024
Test: GenerateKey
Source: sent by CygnaCom during Crypto++ 5.0 FIPS 140-2 evaluation
KeyFormat: Component
Modulus: 8fbb9edf2fd2834b1a9fe97c25999fbc381ae165d932aa521592c2cdcb4318bfb99a2408f118ea874b73704e2cc557fc89a01ecfb5bc412951e86613b0b2fad2389e81ef42f79705fcdc87a9b9dcb1afb44c37d971aeffc1c859be367457ea19d71f22bcaa29752f15242f59b295125e9e01ab582887fa869e4b0f4a308167a7
SubgroupOrder: cd6c675f1d22c771e7f59020ca0e94078950df9b
SubgroupGenerator: 7b473ffda9ed6e10f85177ac05f43ec666dc6d42310151053ae83369de9f9b331232cbc83bef31166e19b111e46e57703fc6666ac9a571ff053e18f3c2fbc4c2f32521750a941981a55379a2fe13bc78c6a3787f44dea397af63a7ce432704657feb57295ab9711ac7070ca5b7344bcaaedfd8bbddecd8de9c67e7cffa2fa20d
PublicElement: 64f31bc4d5b42622b41326361fb0d67f9feb364b34be67f6b2e4dc1f928fc70e6fe42cd9cd6ce3dc40113e7b4742d4af6fbe04d962adc5238d4d95b7bb67f0ec6592e966517d0a34137a45dc82ebe282c904750e1aa31b62c919b250d4d8ef922b0b0574cb2ccf1b451d7facd075e77fa532626602b32fee6fb334e1c2911388
Test: PublicKeyValid
Message: 699c4211bcba049ac8d73c37fc3d02241f70b8ccbd6a1225d813664bcd043660847dfba3dca434cf5600afb60036171ea402bfdc3279ae2f6b7deb5fd0810a96ca7ff7ff1a36021d84a92b6db7d4b03f80b1d5d2306cf3af4be2c448725fedd09399cd5d4fe8853cabc84895fb91e4400c7591e691bafa5cd0398a3c8d18f8c5
Signature: c0aa11b2571acf6fb78dd85148d97ae04877ea1a05d27ab73783ba4efa3a4b7f110cc44c7ba2c842
Test: Verify
Message: f5373216e55156d66524e39dd8a345cc519edd8cee2b7cdb755222d42ef8f843000e8b69cffa4b0c154543c3bf871b804a904b5e1ed8a1ad2a29f63bc28b2ce5b5706c5fb2219e40dd682951ad7fed1709397d9ea36fa18894ad0c57391e5af74db54d8f479d4989f6e40de05b63b4a9c7f0ebe535c87485ea36dcbf4b897890
Signature: 33e28ca5be57567a880c52451ec72f27d25b6e26c38216900ef17f0c307fd7614b399ff5febfd7e6
Test: Verify
Message: 92fe48a60045104207970b674f800f67cabbba0dbc8d1d120b64a4ddc9b149800003f9efbd6446825ff84fae21d4ed00e61d1f5b4562b872d53b4788ba2247677091889fd75ddd017f52075b3610e275d025ce4c366c608eb2a64a567a5688287ae2cd3066e72db701dc0ce6a7eb46bf210c9f59aa646e5c3ddd86bc210665ba
Signature: 95616a85b6d9ff3c9af7264cbbf8b9cdb71404eec47fa7c91291fb93ddd8b0327df74cfae6698e0d
Test: Verify
Message: 18b8baa09b84cf8ec77a1d34d68b0971fa71016ad5b71838350ce9d114c8aa34d0bf8fd9a747615876845f58b2fb55bba757fb08f176901838b7b7042f87924fcf2a1c50d1c7cce36ab768514b0f277cd86b0a4fa7fe7c653cd729f803751b0d8f8f1cde121d47871caaf0f598deb70c0447e718f0671576ba04f68488ab80c5
Signature: 23c6fde5fd9a2478d99c3abaa61363d90b2c161e847be181af07276e376ce4f76db56dfc3a1f2425
Test: Verify
Message: 598660449d62f60b1e0581b0c493803d3ba5cb49a5c5d5917f2a41d6d1b6a8f69a2ea94e7bb8334fa29a0f5ffa32b1f291313fe9491ce32ac3044e8188848db77afd10f17a0ef84b5b56a1b5076d700df021de7ebaeec51827c0eab042ecccfacf6bace5f35add3820b04e6a443e55c632ecbec05032149182d52e1a57e4fef8
Signature: 2c07790afcaf89768f1d1492345510d937e65bca5621811e1b705651a861be1f88f52090036cc1ce
Test: Verify
Message: e37395964c3c1f7b37c99c2f56070cf9672de2f7cf63bc6778ae6532e81f09baa23cb7e5c2af1c6ad32e7e5bf4aaf7f42cbbf4a20a4bed578182660d02f22799db04b8b2cfa31f41f727ddebd88326ddc6b361d77860e07cedd6e1d87e28c53244a28f14ad6fa099598cb1f73bec114ceded21ad53fa0d6d7482ccaa951a5b1e
Signature: 58697e6dad83ddfe43817e5534535ecd78a985d3928e271212165dec4e76c8025d531ee84ba8caf3
Test: Verify
Message: 24976d350993351696b33cf2db5440303d5a722cc2d25eeb9ccf1e20f57ec060fa8bf4a22ab9fafbe0bdcb971f5b86fb9ec41e79142e42f4c6b58dd54e71ef4eadd95cce9458b3c5ef2df19ab38896e9e9e35801fb9e079e3fdec0e3c1a7559b5638fdb1dea738edd9bd06f12d144873366f76bc0f5a83621f030d42e857cac0
Signature: 7488f2ca5fe2bec2c7a83e73407411c9e89bf8cd594d4a03a736423ebd913c2b98a21e445bdf70f6
Test: NotVerify
Message: 430cde2feba0256295b6366211252174a29c9bd2b8e6db8fe97fb9ce35580a247be8364a37741b077e9f275d3b34b1f2ab3397c2171b1e04d177065972aced3c5201e6a648ef5900a3ab1e4f69f2d59bcf1488a0f84485b8f21e7508ef7ac1eac070269b97ac9726fef3539012f647450557a6c2d4fac685448d3e32235a3e06
Signature: 7500d2fe4b2943b4da93490d3bac5c344bb18eb550975ead0e461ec33485e11714b4ceab478644b0
Test: Verify
Message: 81bd412f4f9c8f8b7885d9fec9b013be8246d4284121dc9c2fbfe59a6987af1db141463855cf96ef6031325800b961f2378a6a46c65722bc565ab3c0e993ae15814354790fa8217a9efa9a98c0a6599c39c95638ebf077e0010f5be860bf63df4abc032a559e47e58bd8a9f6e3ee1173e0fb2d378762f4bf87d4764aa483e631
Signature: 37cb9d9adb92a7e74365f9e4c4857a88a6fabd200d955dc76333b0ea9c1b2f05fee9117c79b10d09
Test: Verify
Message: 84652beae6fec221ab800bf6303f17a47a84278a1274a2b11f40569bc58ff34ebe28c5a138e4b1c7eed4731989ae1728397db5038f8970c59e84b16353f8a1b411ede5c290de9e50f7de9fab3807f1b6ad238530f09e384900ac0c6591b6a530b30b03e2a8c47ed4fff80744f5219e650cce0eaaed8bf0547b0edf3a39a3f8d9
Signature: 194a79f399087d977a29a3eab308670b7b133acf4e8b43068639e0e5e37d7ed305e32b85e30a0a22
Test: Verify
Message: 9cdf6e966c37794c7b3dd6234e76d715099128caff3d03917a4a96a2c703b19386cab41830f5b8ffe9e9fd6b88759450e4714d2f6298e413bca267cc13a5ea6c38ae6fff379b0f8e253b6e562ca95f45d4e6d3b694b6076e99bdeed7d5d9dc7b4bc275c49ae0d5f2c86c015d51cb8eed702790d7ad50c59aa8d203392456dfba
Signature: 7b427233d9e49dbfd8ff2a7814dd99cbd4533d67155696b215d593d5ac3989c8927850601c0d453d
Test: Verify
Message: df577c9f2370b362f86a928e40106d7b0a511d5d8ec619776b82d57e1f195b4bc7f328c619d2490e9fa2b6ed3681ef7cc60fd51343f7cb74e5be0d37a3cb5078f6b89bc0ccd86532ca09f0f7c6bbe5eb85413088b1571e131ef5b6063e5355bfe23d8d6733993f24f036f682ead7871fbd7fe796d0ff4dae90be88c4e8c9a276
Signature: 39a7efc692685eed0c3cea8838c026b39367c6f446a16258906787af9447329ab99e821eba53cb89
Test: Verify
Message: 91042eb63d47c10f678bec836f98630e13e707b29c98b28d47b1443cf699e97018d4aecfd500440e7f11134c35c982b1d97b86473500691869fadc89974840f7d2ca319045565573a0fb630bc87576a8bff09460d1027a2500e3ab28b2eeb86d995dd1afe3418c76a4c0f5778094d72c9dc04ab4c8947eede6e3c6cf9d83e80c
Signature: a813d89e3de90f1ce1b77a7d6c629e8f83296aefb8bfe1194f914797d08b53fb59cb9186935dc10e
Test: Verify
Message: e644b9a45009da8248611de174b5613dfb4aafc0a772740c38f1ff480bb23e69ecabb5c2380dbfcf37b1093eb8bf4c3feea04a0d8b270cbd1bfb5a46a2487bd279a62e446649e80afb6b502431f6f97544765f4ad13f24282edb8bdb0ab635bc460d1c421314cdcc4c66eaad16b3e078b6a4e48eb21234e62b688c1d7a56e6be
Signature: 4e4fbbd84fc44f0ecd6c163fa292cd96051ca51764fb5626f8ecbd8470faf6ae5d79c731d9a3497e
Test: NotVerify
Message: d30ac577ac767ce6eee34ccfe09f0278f2faf8d28f657cb424ca7f53712b7f040f7eb63643c784ab02771af64405693a8eca4a21ba22ee1b09c189d96c533a0910583e53283e5693ffc076593d7eaf9e79de5ec9002296e2e4cacc15492cc26beb52b5c4f414ca17fd77b6ee6245ad1ccbec8ec2f89c4c81cc9ca0019deeeda3
Signature: 4ee3704d4bff39aff0efded0930cf28ff7641f089280f1d0e38a186075e91d73a5b1e7d028340fe5
Test: Verify
Message: 82bb8073af3e53b8ae158f342c4cae3c039dc830703bf0e893dacf5d280284948596bbd0d3a00cf8915f96464693dc328507df9e27607d43c426095b74102c90c494fc24fbaf5a628ef29146e1ce2c684020182f1e00fb338cc6d4f2fd5ed3b739ce7bc89e05f6cf9fe6b88b769558b72c01ab3accb22291e3d5667a3c8532e3
Signature: 0b0b366b23090265e75752fdcde1a7d76113653246e0da762e25012cceb13859313e469f4dc31680
Test: Verify
Message: 12da3a70153655976cba8144f67dc21719410fd136aa69ab4cc11df9eaa955005ba0e5140d3955f643d82a6cfc6e7a222376afc1f8309b4dbe1dbdc4a6bcd2f5fc839f9e9020fec967f12768a3c14130b0c529b3b0d682c129f1fd00eeeceac94b7a0046746269ca30fc1171c2ed30f9182416df371436bde63376e49ab2b635
Signature: b43f325f82eb07dd2cb3a03a022e8c89216e820da743c216ec6eec5bf445f12b2d326d52e38b90ab
Test: Verify
Message: 45a2799fb193f3adbef66b8035318c5f7eb3610dfc64dbd1a84b87c0f082884ed257db1435c4cce38711b30b9dc8f4e5c7d936a7330ee36984b2e172b37d8ec925c401f80ede802305d93d4ae85e56dbf3e20c7b1c0f4216b17238253465893f773f63e3f4bb07846fa781d6cfcea858382658226e3eeff166e306702e1271c9
Signature: 238f01011e1b3e7d027af353e06e2138f5a40ffd3d7a78d55c95ea3b94ad82b8ed58c308f7db5ef3
Test: Verify
Message: 6cff32791fa0d15947fdedf67508fee334d1739512e15ce3ecdb5ac17f56c43e2cf51bbb0bc8b06d34e894164a4dc0ff48f3863a902d3716314916e278667de7bb914ea061279d3c36679b57ee56c6f4f7d84fbe830bcb80d6e71ee2cd15a565b00ca3a13972eebfe4b2da3279d966bad8b7a69a0533701873ed4a36951b94b0
Signature: c9194d5ca3dbb424faae51f66377836a93bc55ab1d481e5eb9663c7033329d82c13af868f4a24efd
Test: Verify
Message: 37a363f2ebaa01fd1ed7902a4804c8fa46845b63d82b947e59a23073c0e97da2d72db113bbcc8d2095a6336197a744d83a923d5eb610134dc1f80d6f8de1e327fce615de26b88db10dea78599f79615aed9b906fabcaa236e8106a180e94077b1c65462c23863a07003b19e858935ad7d9360d6fae717a8f4480fd443c1a21f7
Signature: 9ca210249d306006ecffd384f87c4dfcb1d466e005d877c2508475bf0074c4c6fffad6e123bd5dab
Test: Verify
Message: d3b14dfc79ab30cae8e40dcda6bafd6434741e6ab1b9e0d2cd4e8d80f10f176aac3126ef61b662772f31fe4d21bc85b99737e961f5c2c9e28a7d02aac27f7a19901529d8163c687997617e509f576890719ae9aab1c3d3e3524b9434c384036655d56d6ef035db06f7eaa68e78843e22981437fc3eb2950bff2e59d54a154b8a
Signature: 30cffe077d2330f111eaff346634237473feb83cc522a5d20c75db7b4c90c4e21583e1cec8e00f29
Test: NotVerify
Message: 69d5980a58474652bf27388ea6041f9e0fe688ea95f59fa745682c69bcb1c7ea82e75f19a773eb669cff6e4d549b31219b323c1bb62d16a33c65bfdd344feb77706280b229cc51afdc571dfc6495c35f5953c8e1a83d0b1e73cec7cd2b7bca8beb20f4ec18abf2c437073cb20f4b4def00232255a27ff6b3a17b3b50d88fdcbd
Signature: 18eeda64cc75f18f58d43ce6b95eb3918a521bfb40c1745a38f985d294caf2d86879528678881191
Test: NotVerify
Message: e0ac66b23eabe745886613c4698c79478f484a43f8dc444e7e7ee215a673c29ba56a56b4b41bcfc1962046ad66132d28a6eaf623858f028c71c3cc4bdd34567d54ddd4f0bf9f97dff31e3def7edd1769b39cdbbaf3f28b283e27a5d7fb548cfc04be365ff66f1717b7164e8148210f83cd1951ffda3db89a0062c5af980a3c8e
Signature: 6db33727b795d286a69ddebadd6e09c527bcb1ee596915b6fc950549beed350fda40a4c1f52c6a34
Test: Verify
Message: f9cec4d6e1f2c2285dfb17d3ec5d16edec0da9b05ad12d62cbcd8f84ab4ba73eb6cad40ab44ad9a079d7f8221c544d89778a6d50df713f5f25bd1a3acdac1f6a8d0fd92c0a971459ce62fb958dc675bc995dc189a3515088b3e9e33f6b54e59978b60b9359712a2954b55883b54b475c4a9ddeb31c0a19b66f6922ebfcdbb0a1
Signature: 947428406add226d1dd8db3245d00617b152921404ee5ab8d4e840c87d26073cc4d144a0b51e19a5
Test: Verify
Message: 966d6fa1ea1ae8d344037a48420d6379278133fbc0c25450974fd9105bf988398f652ad373c511c830d2eb02470dc7c63b3865507d0fc3b0994ce4e4a0dae337d55839d99bd14bbf9eba37be412de0e348653815c77acdee4b5d97d646170062c03e35ec3cb8ac73e8b3f6b40ae5c78aa7014383757a8bc4037c881f2727f772
Signature: 63137ff0730f28235e87cd5122d22a973035869332ec538d5be6e2c9c0db94f3c012ae4abf3af9fd
Test: Verify
Message: 43a8f0b5992db54d1d65acbf72780493d1af881fe95f9f14f61b834f201ac1df16e5f252eb46b845306efc2b5365655d38b71c63155dbf8193e9a48623f64fd19ecf36a4205fb4ad26594bd2e6a81e3cee19aea80147d4ea2fc700c23395b0e411bf3342f050a09c357f114be21925492e2cb58564f5d666010c0f9e09cedc31
Signature: 1bf8e80c8183d00907ce80e74989d84815db85dd1654a6d49f74c020a83e8bc931a178ce18056f57
Test: Verify
Message: c4aaf1632b1438752e9790c89cff4773932d3fab0ef710bcaf41794bcf5c0ccac49e1a3c7143dd2b1484e4e74cf6c4006925fd06f9702a8090276e2ad7e41b74d727a3378835c4ba9533efe5727efac4a14d073f4089b418d7ec8526605a8ed0987c65cc85a3471948dc893b254f41b7d0dd36cefafa057d1cc796b58374bfd7
Signature: 5fa8964b471c76211e2743c4d993e793dfa7239dc84a19bb3fdad2162a8c98a2434c94213f3a163d
Test: Verify
Message: 739d44364282b7bc61c62188d07e0ef12b907960a740f1764ff8ed7981586c04a47ed0ef2b97fc7dcfa6adc508941762cd79c05f8d2aa15d6e037a06c5f676b7d6d40069cddbe4e0fc81aa18578030ed2d22860929cf0f1389d4d5159d762c2f82378b7a2067a73f62efd159b55a91e8c3248438714773f01704b57fffefc7c3
Signature: 1b61d79c6b33e3c3394fff6efd641405652033690d7219da8475faaabce3e395bc720d70c60e12f0
Test: Verify
Message: fc205229f11c877b617739d9ac191773c207ac714c5e2a061a917ad2cde4827ec628b5924eb8e19a06b4357a927d920e8171130580e8dfffc06f2ee5a4449a89af12a87faeed963b2291676cf0d72d984c7997f8e207ba96472924a5a0161f21915542a769b33e978b85e7681f20814bfb964d03ccb25404893674cb1954a87d
Signature: 283d55c038d4270e71ae39db618390f17675478b704764d1fe352550054076f4461eb6da6174dd17
Test: Verify
Message: c343029ce5d70a70251b50cc5e784126dd65e35080940f450d5cf435d567c9ce8a9dd2cd5d5096c55ba95f2f0952f2b33f6490b642942d24259aef7f62e2ea29b4771bee372ca2d5c30c4428850421c1e0cfb2978323068acb1a3d6b5be34550f9a9d416acc3a637141ef8ce09e845e7787f400d7a99120eb5b4d611f8c051db
Signature: 0cdabb09213e0f09cf01e0329bba5661753950fc92e681173a6eb46c02d00224b50ebca62a248faa
Test: Verify
Message: 5e126ef683f3b61a39065574bece4ad82dbf4d34495f40cb899dd2b163717588ddb683795244ac758252a3adde0a0950126e9984d26a96a7e93b72c780ffbf60ac9d5b553cd8d831c1af2a9edef79426d13cd42942d48e204c45f611cadac252e3804f81d8e612c40dd5423e56cdc3d285e1561b31d400acc875b885d73854d5
Signature: 01dde9613b9ce3c29b3503c19c13f863f27ab71bc0844476b3860ac891f9ce374aea6c24f517b8ab
Test: Verify
Message: f799a6b5a7bf7c32847fc243cbe0166f5244a377c43682c41b75530e6342174fade751e751885d10692e10858b11926ec626788fdfe925b2cd6d625272a13c899ce41e3c3ccc2f84e533ef6088840d9a6e448bf777e415a291c59ddb7b8d3cdcbca9450bde23ab67f0a6952c3bcf3fc944b6140502bc0a6d60983d00f69dcf1e
Signature: 0fc64023e095044c9d2d003a555e2da7aa5daf413896cd4e7ac774ecbaa0e4ece8e8ccfa053ab62e
Test: Verify
Message: ae0424ff8fb19e8842828a3cd51c93e1123e0c4ce9f9fbbc1b326979295be9ad7c6e6783d62b337ef8924e1b95a3f4aa77546a6af0d409e483ff8b89d422958fcdf0860912c47f45a819b36be047f0538a806ea6580bd83990bf99a6f6c2682cf98316c91df69796a80f50639082a093a5b9b139fb1580739a692b0769b47b3d
Signature: 6fbe751842e02a3fc3726a5d8298d1a7adb799a02d897597f4c459d28e9e25cf447b8cdf50001d21
Test: Verify
Message: fc5837b228cd6c963b52cabd227cf61b5a1e6ccb4baff71ae4f971da7904bce5d94201efb3fc28912bfc9894b87c307a414f8653784e5fbe76056e3d989f51bf990fca68f0813aa36c00646a0e685fd5278fdce1b2af9a83f41726ed5212d82072180bb396339ce235b5a5dadb187b434335e50fb2aa9f829685108260354721
Signature: 5bb80b35dad17648220dbe980a660effaddd7c43ad3584318e835c355dd7bf2f5510091389c42914
Test: Verify
Message: 689eec3b665d72447abe64d4ddd79b7b73cd171bd22fa8689395e0a3d9793997205583d449fe912be240246ababb1859a5fdcdf48ce1d9ebb928ec58615503c073ced04ca0306948abf231ddf33e040b3e0ca7eac8816e218b872fa7d1ad67b9f841ab1c85ab52956d0c61a69f18b78ad5317a739dc6c102a2ea82084038bf7c
Signature: 3cb07367288036891a8861931e5b2104734a6e7e70ffaa32a49032b968805dd0bfc9f1989da22b12
Test: Verify
Message: bc4828ec0810c7a43cbf028dced7a5890803681f86238a28f296aebeffc7f561a4fa5d6c9a595ab7193ab38eceb39fd220601f6ea5739efddffec8b93b7da7a74ba705014376fde4b375e33a844a57ea3583a43f56a55f9745723c4d287b34e82be7d584fb82e98183094b6be6b4052abd05ae6b92d0034d9d8cc550bdd8d27b
Signature: 67b214ed56ba44ced95d3d9e8c25c99331e3e973a3099e524473ccc8d4256f4ff7de9674a369cb57
Test: Verify
PublicElement: 19b80e6f0132bd24dc0f26acc6a30445c4deb4fe7394440ce1ea0039d9c8137ec962e54b09d4383989baa288129e551e027477965ba1dbca0b6d586e482325f09a0fb16236d7b4ac3a3bb822a7a329aefeb91936f4b8cae38fd1e369db4f3f97421277533724d27e39248de3618a662c4b757cbbea2e3d805116d3e9d0ab3547
Test: PublicKeyValid
Message: ceba9387e7ba8d55f8010aa2e8ed7de2c8310df67951e1c49c5fad18baf47dbbb571c2d26f779a79b8a564a07d9184252f097432728b0cda080212effcc3052612c8266e6f2bc88e85e6dafd42cab20679bd1b1d9038a27b6b001e0199237e4cbe37d81441ceaeca363d82728d8f9ebe7dc41d6c2b4f3ee19fcfea07e90c8364
Signature: 84d8e940de14bfb65b8c0e0999e296a1d3c51f18b8bd79c57d826d9d200a6e38e52490722c6ee201
Test: Verify
Message: 7b9058ef673b23e5b6a3d97784b898e0d912c990449be876b77b768da6443ba95b5fc1849db70e0482a4a1cf901aaf111b129e8dda38c3e2ccd758204a03c18b6d0500aea30b76a48c11dca21b0a82c9ea54c62bdd5bd71bfb8bacba897c3fbf68590f86b191d55c8ec285095ce2899fffb03983845a9eb9fe6f68749a082ddd
Signature: 7d07f3033c1c841466eeb641ad899ee247757ca067ab38f6f698ad0cce5f26517da7bc51b8e630fa
Test: Verify
Message: 2404a0e4c5ff8fa11c40f9932c8bfd3bac118eee53085c8e658cff857eb56b029ffa907876c65054f258a7fd07e01512bfd850df82a02820a65dbafb3a13d9380f01b9c3093ddd64a49044bcc994cf84d30cf602dd84accc4f2a8fc1a8eb55458ed173bc139c0f494aa028c80ade040a0166da50fdecc00a77aad8d16175b7a2
Signature: 793e491940787f4e76495575616901c1c77d023342569cb8bc96efcfbc9746b3f51c31e29b221b02
Test: Verify
Message: 5c311c167d2e3ebc19fbf7ab1c619d8ac1611152527a953d2137eaecc6fdaed79c13f4fa76f224bea7cf162531676a3a4c0a2ab81beba3f9aaa681222b122a8d724a5c77aef60aeb69df73eec3b384eceb157063dee88dce64dd72d4473b4fb2d6ee8de59bd3a61d5843465e48dea37894991aaa130a0b9246f3f659940ed61c
Signature: 7f76e9d084a9afd5c390271261b316cbd1095e710d1b7e4503188c99b8a8d851b130ad240e31f0c3
Test: NotVerify
Message: 9dc221be2ab612b2ce6c7fc8b739af7fe740e9601f3201d3094a2444a488e076f52c7727ec7665e5949d2f307f0e6ed171e71c7a4cb21f9f3c661494239b5de7470e6d003a5553f80ae385b6aa3fef50a0803ca1f10d64264a93761e6f47a8e2e95e9c82ecc9f5a186361a930e434ab5cc05e10ce5b9e9218bc9e41b6203d81e
Signature: 332a2daa48681410763f13c3b127516c861bf1f187504d8b3bb1bd11ecbf9a9821f18466c10f1859
Test: Verify
Message: e4354b9c9bd98d62fe629486b6856c96f34d2fa2460200c5c25746f454d32a065f8153049bdbe1b32ff4a8600de6aeeb8f7be7174f1f2f114c06893e3a9997492927596d5bc92a005f96f8417209c36316af59d9f41450e4eff0445b8a8e52ba7d7ed56e927b6060c59ffcc09bc5a313c33ffc80ecba5957e56deee2fc895471
Signature: 65c2fd8a2635d6942b4b833682b29637eff64d80ac5ba18491bdc26d1c34d70a2c4b680900347d1d
Test: Verify
Message: a090ca3eecf8677a7699f42b16428445a3cbe74981efd6436d66620185469e959b9c8c0dbb464672fa136dff821ed7a2db6874b97bb5810691a9f1f30f22180df6d89abae633943ee56c08ee6fe88eb3bfd139c25df7c899e8e60e3d2647a3b3497cccbd8477a9d7cfdb9d71f657036ee83f0fdc3e6b01f60a559157e36e9781
Signature: 19b4876e4043fe5f5a58e70b1560b0942ff4fdba842266a6653a6aa1550b91f4ba85a3b676a3659b
Test: Verify
Message: 8e2ecbfb35ae99dd004f2305cb2fe98c81edcccc13372e86b98f4e526d5dde4da43ae6fd4f7cdd8812fd0516c43107832767cf49e95faaaddb0e9f2a70ad0b1b790880ac1f05df022172b3a94f14d13f47ee2e5f70cf01d0341f19ef82ea805a832e51de9b61d7a3a346e89665f280175919a0e59f9e69463d5b757a9a2d7662
Signature: 6d67367aa1caef2722c125a30e9e08ef7dad05a015893ec3c395c35d81944fe2db2a660e4e60913e
Test: Verify
Message: 6d3ba912c4bc10feb611e15965fe814bb2d5e5de67705a1ca46e8e6a8cb2e3243018f57abb7a698bdfe3f9c08012bd6aa033bc9f8bd9b351433f24b12ec0a3c3fe945c42e1cce9b6eb9153d4c099661686ea3a9b0ad3ff4131280800a2bd1b8ab125f7218fac27b8b092064d7d8a13863c73788a3c56d52344a051113ea1e3b1
Signature: c56d1aa9f30790bec01fc07e5816fc6f44ab659898a959ecb061b4347e7f2be6f2df97ba33043a00
Test: Verify
Message: cf2010dec81c60bbe408df2bf20f465d259a5a8d2f7920ce9c566318705c69950423f1281edf713f50ca8eda93cedbdc2378d6929d192081573efd7500520cc6799247edf3323e4849cd902aa013aa273daec49ea6741887fcd4657e987aa511e5450a467e6c3f7088ebdc3451342ad729141aca81e3807843f0944e712bab0c
Signature: a6640671721cb21d86265e30cabbc09ba20cf6081b4a5c7928ab3a53d4e291bf6049e8bf8418f6d6
Test: Verify
Message: 4b00e4324ff7fbeb0fc48a6c83de82d52da1bcd1eb6669cffbe2bd824fc1d7971383f4b67d96d5bcd4b56e36c480d021e05d58e0788e197f9e93882773c267e1b725f38f919451289b143633316ed687fb131041b930d7064e0de47a10ac9a014f9e39b5232847a87b973c5b63e16d7f957d3aea43847cdd24092975bdb5496f
Signature: ab2f5b0d5237ec1b7e6297700a7c06647a526cb069c8162c513100008fe0dc37d4a8c9639ac94cb0
Test: Verify
Message: 20f18b1eb4ccf98fa68c10d680f1536bd5c7c3307cb13ede0e3717afa213f74dc8b8f4fbc324ef020ce7335e03744baaf8a824495a9964d63ea00ace13a9467ca4ba9b264fc2337684a4822b81841f004c51dfdcf193333cfd77c4de3a184db0ad10b8f8ce3f7cc407da369470b88647c8d92d43b73864e942d37f388ff7c3c0
Signature: ae23d943a56fc60ef381a2a5c056d24e472e9e906e4af1bcc91a27800b99b7cbbae8d4fc303ada82
Test: Verify
Message: c9db3284c5b9a283f38da98655485939d5662045b325ccae3207df72838a1660f22634364f8814fe9f0eeeaa0483e9efea1ce25f74b37bca264268d6d3a3f6dcc986dc063cb347a7f08220db2b97a060dae317b302d8f86e6aec29e287518af0a8f2c32d62b153363ee0d650a2fe9744fdb3567a370e5a5458fdbbce770de953
Signature: 06bd46f7ec091697c86e82497dc184139a988e3b9adee67ce3d87d739871fb1cdcef9dc6de421615
Test: Verify
Message: e2e5fc81619b215141e12ea9544184e5ebabcb3834e96dbad2464fb5be7bd22c5dda0aade2be3d59e732a03147e04da33f3c8854c4f23330278e8fb0e76b356bd7de54e071a22c827987cb05d65708e8ac09bd43be2948d304874443881f84bd874852b1c421e6e52f3929bdb77eabcd6c68e29dda66a4bba189e807596fb93b
Signature: c86708f91828158b1c129e48ccc6adfdccf4997e8eb2214c24fd4bf4edd8ac1f3411d77ec65321c2
Test: Verify
Message: b9a5127b9995a063f3422d3069a4b22ff9b7816e01ceeb3f933733f1fc11b3ca8f694d49b79c159a3ce93c59d555408befc452dabd54071181fd43d8196863b1cc0caa32568fee84335c841c298068b919cbb19e06233412662b7815a916da6408c501af8f2885196ed3dbf17cdf84af0c047632f5f4ca39dcfaa81fc5d370db
Signature: 0461b5dfdcfa1f9be6e7528478e2785903f0b8990f2354209554aeedd246d231567b06c5f81e0842
Test: Verify
Message: 38da1e2a517a87304f85291a67e7a7ea0e637e797fa1a122707b58ac10845b7d44da2afe232eaf49b011171ad781edf4aab47992dc2358927eda5d5df9ffa75a4da2035389c484278aaa60b1f7630ef97d979e9a48935873c2929892904ee95dc9c7610279533c2256e7bcb9c1a4405100a5a367ba08d81db43bc322cb885adf
Signature: 3e7f697603dd770218ff55f027a8fc980763b6b9bbe84a766e0e55fc7c23e4f734d28f67fd73e14c
Test: Verify
Message: e431f4fc91ec6111098c5de4532c76bdd3ab9a42e92c6c10e7ccc69539a38f31cffdbe8dcedaaf3b78a3a68f592fa1bcb4f663332d94bd38b8811fc7c10f60a69da5cacb303a6af0e0159675bac3bf76e459782d43ebc7896c4dac0fd009f0f224a0306e0f06296a1858454ecee06722394bf4e88129223adda68528bf87d74c
Signature: 2b2111694dd96095c76bd18fbce8f720ddcffe6c8d9c194e880b0abfa44bcaee6b97addc84c519de
Test: NotVerify
Message: 2f3e3407e1c3e585d3f87ecdf8ee45321c8d46ed84410565c7e282c1ece573acc5c2bd688ba53416bb5894433070bfb782b7397b9edae229a653f2780b993a07e887996aa20bbd73be101bc203ad318fd18efbb7c0a3b4057c08cfc3e03535825167c0255d4ef73495f80c60a8fd1352c1ec85b822f6f59201da10baa310dbb2
Signature: 88ed45212439c0cb86f513026b72002cdae6317544b95fcf4dd1eeaf460edb6f5891080272a3b31c
Test: Verify
Message: b3b7c629f3f5e85b35f7b95d9757a8dd980a2acc68fd9f1b74ee82af328cd5a62ad2ccce45a1b8625a9c3706f6499a066c6597cb1e88309f0afae3a298d4130ca25bb6a5c5994181e73dd00109b59a074e8a95794cfb65f993dd8be27cb2cb863409dea709155933f391dd4466d38058562f7ccd8c8f17a02850d267775fd58c
Signature: b2101fe80d5d71592eae972be0cb7f67e0fc2950bf60fb12b91a1a63d9f4747c1d92d2712cc33300
Test: Verify
Message: cbf84e9aefa950d9c997dcb571a50e25c09c7ba40e730a1c28e112109621b4090b057b442c3e339a86ea07afc95fde5f4a37f765b99cc34e1fd5039d1b1122405d74d5336360f17273058c25da2b5807633f3c181a9d3483421d6ad294e09550bb5c93bf0ca6423b8affa46e1aa232f603cd8113a90e13958ad080057925c612
Signature: bb80dfc840147d79654ed993f5266da74985e2225e7f5d61266fb1caa2deb06fa3bebd930122cfe4
Test: Verify
Message: 3f1ba8edcc9ff1dfe2c25c860202f927af2188fe5bde071b8fef797c5f42f96c0d75001bfc94f37ed912f06a040adaec45b6a3ebac30d901c96974960d67de3f80c34456a5621cdaab73f788d5a9893b2bbaf68162185f7f09efad07f6609df7f0fb0cd59e8284a8b0dd08194c591dcbbb2519f7540fb04ca97bbc06f1a44d4d
Signature: 06c8b4f82b1e5429a07857ad5a1753f1d7cb43b345bd935a1f203ca2e69fcbd2321b295b1ed3c2a2
Test: Verify
Message: d0b56cf1a2bf4845544090bc5440efaf864b8ba6205a03e5cbffac3af8d50d067f28988a7fe0ab7472b3c7aa8f8b0f5664350432b44c80168f65f0bfb07cd6e11b9f7e70f7d9ff2ca961766b33047f2bcbd0f458bf02e95a8932e8e22ebd69f6dc73953bc3823d8333a21597f8833546f374d1aefa5438c9f1be0b3c2970c05d
Signature: 035b9d105cbcce5d24fc186ff52ca07663ca774e057e6de4f5cba8df8b24cbd361df4878c6ebd3c8
Test: Verify
Message: 82f8b357919acf5ac548e01bbe97782acc131a157d1b616364ff6dd32c5993d1dea9453a6f343e518e1ef301abc636554b632d368cdc7363f3ec8cb67e768e95e6260eb7354a491989ef9440274005b0c31b63ac0ef54c3081efa52d6939470433a8e745fa9346a94ff39b4e47ba3d31cb7495f11c1c44c2a54190b0055a1416
Signature: a4e3cd2cbd2151d2033d0a56fa7d388af1e050efbc23bdd5fd17061234244d0a9511b84525e719bc
Test: Verify
Message: 5e5dc7a9fad7608fa377eee0d126a5377bfc0b9c11cd19b3b7f88f25c36c984f78fb9f2a05e3707bb99a933b88dae649c4ed794e143aaff1b911923d02b3764f0da5d244bf375b61064f62854e7b6fcc42371f85c57b3b562f891aaeccf5396c93f518cd23ea579b032f12941b2279186e71b4181aa7f63b91f7df51194718fd
Signature: a96a7dffb16216ec93857df38b10fc73c4792e61055a3d5c2aea3e5193113b7d0bfd81f6c3b0d01c
Test: NotVerify
Message: 9f8215298027d29e4128e75b86e6343bdebfd7f0f60bf417ff57c49a5ce1e14b9154d0be68c5cf6765ede1f56ca818eeb1af228be19217d68ef98202e01cad0b7a7f328eabf3bfebd6ca2999245ab4c968b4a13e52a6f96cd8ef99d0e1c17f8f347d5352a1aa39616e36d6fe04f1a104db476cc0a33e3210b4b022bab7c9ed0f
Signature: 7956b42cf6762bfa1d84425dbde83554a598caeb6e3298db6c225befa59a9840faab00f16b662ca5
Test: Verify
Message: c196e14d01a2abd6dc046801d766e076cae2539afa2ab5597af92c35c4bbcd8f9378923503069f2dec6fb6c17ba1f7cc1355dd4363417607c881e2e9e5430ffe80b2b326a0258ad7e589d22f270c043a530cd480823f6bd35a23e357aaa804d2411c3d360f58e66c7f29b56314017e5942df2f698f7c0b56eab727964b4222a2
Signature: caee28fd1cc548ceeb7141e3255c6043751425f2c344e1ddfe08ee2d42ae77391ed03f9baa195aef
Test: Verify
Message: 7d8df5288388272a7473d757c078a6de15994fe827c215d0bf2f6aa50701e1e2141c566cb5445bcd7b78e6b0098d399c9d0f12f5df541530eae276569803ebbc13a7d101997a9d488f4686b7c98b7130185c1c4f157c8fa42ebac032ee8a852891e5c0dec862c513c9950f659aa824129f39c5ee63735ba4a36f9e31a1cd889d
Signature: 75bb8dd4118b861c56c6a56bf00f194b9296bb677ea7ca4f5cda2855253f880473d5aaa8196c39b3
Test: Verify
Message: fca73579a6d91eabb3401ed9b9145c2bc94a7066a85eba514a62046a95485bca536c2a5678659828970d253c9fce805fda30ab5527a0514a7783677b867b0325dbf979ae0303bc120947f3913a615a9717695ceb9ac1ef1cae1d2f29e9d33e6f8c655bd8bd4c41420307c22e0365a4aa790fbc80795849a0e84993cb36e8c482
Signature: bb488822df803c1b8b424169ebc82e4638af6d567a7d2adfeaff0861631adc4c602a95a7ea8a0c00
Test: Verify
Message: 2e5dd807911f65df6c7b71c9727137156df8fe02af3c1e19bb1d51cb35e43d4e07483eb5d5a1784ea46b1d41c6fefc66088c4b661f5bb5165044a710606dd893bb43179de8ba59472cc902617d20744eab2cd621ca4e26f8e2578299da47b24ca247faf8a0e41f815e8eb8617150b785acd1376a868c8878c94c799e7debe530
Signature: 02bd342623b4f7cadbd88af72c8ccfb29f85042d4d2d6853d6a7769f2ed879fbed85cc6c7440fcd3
Test: Verify
Message: fd149580b4d7b1e3799006d6c37974de79658e074d2d1cf4585ed124f7204986e569464099642cbde21cbaf5c16d0a01872dccde2f96bf81fef7711c599b37b0e6fa6fd3e71ff5c4d359e4ac36258e37cb5bbe53d7992d48c8ed42f90fc60e793a1d88d156e00510849ffb94da79f7987d49dcfffc0e5d60ef98bd52d07ac6f9
Signature: 52c97e4fd456b9a2141afde95fc0ebf4ee2a509f274e31f5a6ee2730194eb09532d7c12583b2413f
Test: Verify
Message: d1197e08ba9f4654452e42783e664e3c7ad5cd9de2565149c0aa8d5a49547d576cb9d369da79a5da560856d33e91c2565b0cae7ae59e6ee7da31d891815469b93954b621879c168e5f4a8e84b313fd3d3a5989eb828b493039bc33dab88749e3d12200a9dac0f16afa2dc303b3a557e9b0f53668d1d5381b748477ad07a573ce
Signature: 41b31f1faac06a781ce424ab9ec6cff44f1e015bc7237a3019af5d73774a0b60345b6ed2293b7fa3
Test: Verify
Message: 78cb9e8764eae88cc7bcfecb525617286955348da2e9c0958124677a7285334108c0ee2475d0b3404940d6806fb5f7c965c06166bbe3a9b7cfe18316c74be80acf4766af95a4c765011ce6b839e8cd90d58a139a60d675f60f42b421c570ae2647fac001bb7d5b5367e8e44da806d2d6324a03ff87db5ea9b9e0af75630dbfed
Signature: 62a367ef341b27a22c1ecb52dcfc34180902479129796872ce1b0cdbb678fcb0df10b1f37da5ac9f
Test: Verify
Message: f0e673b363e13da716f3288bf4b4993d6ff109e72a28529ce9453a2eb69b3d5256249ff7ebfdb3e3ea1d659040550e46c08d7979d03d3165552a0ee8db63ffa0097b19454508e148a35cd6ad14834226cc7d4371f3bc14f391e1a196b3b44be0e361f854c7fa5f0d18299399c635cd1469387e86eb9f947e74e20dee9785ba4a
Signature: bd8054b1502e66908555110fc569ac6ddccdea0285a04c81b9ed46ff160a26eedfeb4a8255147239
Test: NotVerify
Message: dcbaca556bcbfcc70d2164b348b037467071dc423c11a549aad8d06716ddbee49668724899a84daebf96084efb29f246e7bb6ca967bba2ca82948bca7dde246039c4e8e8cfb593af694f197d6488e164a41f46c8364250b02d81af4cb6f2f9c67da6254d454c4860c3248e58bb277c395d7564bae2fe299263753405f972b7af
Signature: cc52d6498a412d0b801d243e37a0291644135294bb91fd182f3458c59e60725b21436a401d534497
Test: Verify
Message: 901bc4215934ede2f6835d615c38953a95cd48bc09a249a30edcb412b37f5cd4c9ca75d433d383da706382886614579471a97647acaed5377f511241697fe0c90f42b735865abca8dd1beefcef86930267abe2fd143ef25c6f79e2b86a314a0e7b3ce23ee90271c35661f9b58ec721fc8f8ae2d6d88b768cf70c7e704dce721b
Signature: 69fe1c37cddc2db194719f80d9db24c60618f5e99cda4d645d1be7c3c4ba192c5d8606dc9c2cdc61
Test: Verify
Message: e524024ea5f5ef7baaf30efbfadbffd9ca00ccd03d91c23a612e8d3c67ab933023239253c4417cb0d5cb934c7370c193d0d23a03e8d75417832da6766c1c605df090eb4a9966c1ea2cf68e45e0e28828e11f0bd305417ae4ce0b5283a0378fcf438243899cfb75ffa88e383cbacc0c6ef5fd7a970c68ea7839e1c8bb7c94d760
Signature: 41bfc6a00915f9a7e24e0d4a7a1220aa0c0f3127b0286f8333c9b002a4acba9673717ffb09368caa
Test: Verify
PublicElement: 1dd203bc368c505fafbc02d560b4b9f003d93be0f78a11fe60e94c406890ce920be3fab9d9ffe84b80f3fdb9071dc602d7c8165fb62e346847b3918d450b3dcccb4bcff0ab98e3052ae36d1a65caa37c7187bb620c5147870ef676091f5199be871dce4fcda065da9f3568fa70edd637450acaa7e42f128b6a3a0519d86784d4
Test: PublicKeyValid
Message: 691699d5c945a8508a41c3c83f768406a904e3bcad75c75e76becc40e67857f0435fd8d61f0b5f0b88ee6276718fcd2d60064b0b5ab7d48d0c5377f23b0c69936d174f80d968c95c8ca93f7bde7cef3914f2379e574c202fd5f12c1735af62774136970acfd2fefdf068f20e5cb403e31dc140ad7caac5fd298f84e6aeda5855
Signature: 9c2687d271c475a3ca252997642f12c2494e6e1612ca7c28dcebefb178a72071de741a27699cbb58
Test: Verify
Message: ad15c247a6d92417670bb015e2c56b2170d449feaea127d898600517e37d88639f43b0f80ecfd52cbf34e83deff0e860208fa308fb9eaf7463d2a87cdb79ab9c1a221341ed8973544dc5d405c0b530d9f5a72ff69a4b20af81d83b4bf47c151b560a65bbfbdff6a74915ec020fec3ba325746462458072a12ac8351de75dbef7
Signature: 3edf3214d7492ead518c21641cdeeaf11955cf2c9fd41dd6990a3d93b5b996dc65b4480102910be6
Test: Verify
Message: fe8aa91c3ff17c55cfeb6ca7d7934f00e1ea15bb63b4fb9d8a94f410486b559ea1eebfb131865289026c0f7e8d058e780e7be2ac0d9dca9929f91942283868ad3cbafa9c9872ef8a3303ade9dc1c8b9b7f11c0afb6ba8b5d9391a444ac07e4e2682730548a6eab50fbe91c60dc909d61cce2853b76c398e25f926e8def8f2136
Signature: 454f59ad954b584350b19484ee93f3fac35e5a21025acec86b4d2cedb998a838f9c3d801acf7ff52
Test: Verify
Message: 53bd313ad31f55de5bf21a35c1a6291bca8e6e0b206736489726884da107c1770fd273f10a707fe051af70d0b5521b5fd25d75280f9fb5f2d880aa1a1b0c5e3e0140ec2bee959f09bccb4cc633f7f2c0ccd08fb6a73645f0ca04aeae9c177ccea19f55c277a5eeb212dd66ed34aee5963080758bdf452099e34a4bdf1b405280
Signature: 7408d817a92cce7b17409ca4a522ee8d2a05bc6ab21cfaa6c48819dde84f86090139f18c389ec906
Test: Verify
Message: 8d67b965319d7ea31ecc8f7538b0042c8175e4de45b0eb7d869b9e3aaa918d1964cae8d5e05846f63261b131009ef5006f152a824c137f957c6c4a31a6f64d081e444b5c159fcc20004b2c5245f8ea982d862f1906fd9d9f98cd5beaca425e57954bf9b22a6ca8585f00199160b47c2c93410c5ccb69ded3b135ea1d706d573e
Signature: 3c2251163492bf6e777793020a5010959d84a258b28ebc211aeffb54f4f99500f88cf0b2eee180ca
Test: NotVerify
Message: 8fa0b50bd675f973a529cb90f5a7be4302794ed969f31dda80a16e0ef6efe2d1ac177399d350aec5463535a82a7374d6c4b7a3ae9ad7fd28cd3f3fe0b69e6363c0d29eba861297352d5bea7a031cddcd582561a29dcd4c60bc63d678b7d751a683a92d8727132c5c1172e11db8fb6fc2789b80cdaa2e841b03e52ced2ff12632
Signature: 4d6e667824358fe066bf44377146bf2f5f2d92d2adc0aa673fc3912c3ae67bf8d0c529fb1c25776d
Test: Verify
Message: 17aeab19d1ee54e4aaaa66144a82f1a348dc53f8f1fa9d1b575c44389e580c5883f8315b2d14d83838b1b679009800f12b3a92c179c4638ad07e28f4836a475fe21900e908d0d6a0e0dc44097a339ed18d4c45d24c400f496e22f556789bffb54dca6dbbf95b2794bae667bb508aa4bb86cac22401a779d049ff035715250ad1
Signature: 570867e6fd129769612e82d31a833ddfbb9a07833815df754b1db1c729e7a85fa4bee867dbcd42ce
Test: Verify
Message: cbdcecd18c9984a189ddd576261b6aebaf3030639731cd79ef7a3faa2af4b9420fa6bb84ff7f701d69624ccb8b73e6496ba1137f157444e81618224339ab687d81c300de67436173556028bd62eff59850f1896dc3611d9cc43c052476d28695174df4383a7f107c43f0a0a4232750af5539c98719900f6ef0fe20a65802cb60
Signature: bed7f5866b9ec24dc7f0ec818262aa7a2197926c314a353cfdb5d11c7e57685ddc0c1863b7915521
Test: Verify
Message: e8cac9ce0ef12933d72bb5ec654590ae24739b0b378f75d32293d3acb85902ef4791b9c603032484b0072f45944210c79ca21787cd9dba1feea5dcdf74ef5dabae66e81531eaf9bb86ce2de21390ce5347da9f760abae4ad641eb5f46c9385b6733feef2721cbf8eb27748fbbaa8e40b7d13c80fc55f0c35daf6f82078bd90c9
Signature: 35dc7ce798a62cf86653c31306ee9dc5a8ffef2a8c086ebe25b001f990e5f511f780ad9d7eeed027
Test: Verify
Message: 95f01262b79dfb8fc98a0217a661456a8b97042d6dd524499daae53a9a70e096377c44dcee8a528083671634dce0677820eb21640f14a2b4a22b8316e32c98b10f6f2af6e91073aa61a15b34660f722408d22e05d359666567b50e225c8434f655203c46620958279c914bb1fbc65e897ba4a2a96f7c697325a0fff6bb50ae7f
Signature: 9e75e572e76eca4859c954248a01d31921da32e371ecee37eb40aa9c13ca2e65961359e4466e9e72
Test: Verify
Message: 64414cf10d118df7436add5cbd54ba23e8af55f7f79d44a22b1369ce64ba21fce90cb1c274acee4981062d07d9276ab859debca30814f90b5969a5f3bd1120176ced102775ed0d4604a58cc3f42e0e179540891fbf8d179a1760dde6a1763ef7861d4298288b41e66481d30a2620fd36330b94e333bff649fe2fea1e28a3d493
Signature: 212c24985e37ee89e71cbe6d6012b89fa181db569227db91fc0b6f557f377e380cc56c271f7cb77f
Test: Verify
Message: 8dcf3f1d21a4d1e15238b6db0e89798e66cc62b60e7d0eee15a550a2e56b47387ddec07aee02cd471418a77a9733c21b22f82ec5e1b4365741a533dfe382b1c3e24cc6314659aecac89eab8ac93c1cfb8d4edc9abcf2de891b95067786844acd32b0091b21c2abc2e65f7be29bbdc1862066230e954c3edd1a0e8044c68a49af
Signature: 7add75db81ef8d210f6dad09da3d11381324430bc473f003495c0288a42fd93957dfa5321bdc3d82
Test: Verify
Message: 0ee654428677f6fd59e6cdcd1406dae8f753dcbca966a88e1db8ab5abf9bbde6e47528287040f8dac93f865cfd023fca2f9dba5d4725fa07da6b004a57fc955a73595573d773007c096afddd9987309e8c78fdc10dca9de053aca00bcde3c3dc9508f5dc1409a41bf1e04c0a408d429ce85abe9d554f285260f3a4527b46e0a4
Signature: ccfd740744131a05fbfebb26edf96572d3475d6441c042287c109e0aaa4e9db694d074889cb55dfc
Test: Verify
Message: 1a21fb1ded7d167c9a590c8bfc4abc10ab1aab159476b834d9d91e24ebb8aa84e5ee3ee72c6b87214519fbd2f70f1630a2fad519dec7735857966237e8db8d46f6d6cd6b0f36aa2bc4095337c4e7e03a3a60c6e268a29b2d846f0cf6d33e1cbf04b09fc1cf37f631ce010cd59b2b91c82b2376896b5ea94b193c1278e438ce87
Signature: a07b8566ada6bbd54b5fc36b4a3b698cbf60c1ee912a5197ba6e98bd4777a884d6bc66022020de8f
Test: Verify
Message: ffc7c4abcca3dae4c21b311e6fb51da2262e53dd491ed515d6cd216d34549a1c40f836ea93c36aec17645380c949258bd0fbd9f2bfb9135727585115615a5a7e9a4ee6541f678a86eb60e72c6e8f14c4a04848af4675cce784732002a42f6c6c25812be108c8132956c74718f6c0c0c5adcff80a7689d93c05d5e62c960aa95e
Signature: 60b09ca0f393d3398635c5075d114429b6cdc8bcc7e66888f49148be9a9f96edc5014b106de6afe6
Test: Verify
Message: 88fb1d5c4fe552db3d7213c906f74702fc102d41cfe636138ac123fbcbce5fe743319fd36e4eb8bc9355c0c7fe0c69b27de19a7c182f4e5016d0b2b82de57aff08e284e7ffdcb18c1217009826cbeba9843706ff8fe9d66ac64bf073fa7253cad02307f07927f625b1d10994f6cd87bd0b2aac23acab8638934a1485ab0ea11e
Signature: a4e8a3e21168f000ced52e3a35573fb6ba82eaa164813969ad388163d2cb861f472e7cbee985e0e1
Test: Verify
Message: 4593c65d5e569a3d1369a916c8e6d4f541080dc192e7e51447745056d5b7bc1c404852c00e0d8b406d32f75ca06e4aecaf74a87f4fb7323a0f63d1efc598427c38e963670f15bcb7fa0451151f05a724c747141d49954caf37562916c8c4ba7a866c908a38e7445912d74d781b240055e078e8d457f9492b1646ef03b5b43ccd
Signature: 8c8e17b621fc67bbf36704f2356e7755d960fce3a52357c84b778376dcca9f92c91b9be575daf7b0
Test: Verify
Message: 6180fb71de61a23cbe0d4383386e0170da515bbd67512b41ef03e0bc2d63fbdf257fc89ffe625fbb1d43da8c84efd80d6974322a1a0ffd4d1158c02753acf7bc0edbc8b2721304dacf0d6100f176f6efb9a0f8c8fd69b385a16cccc9f667b5ea52ed7141f14c8ab10cc1507638db532f012d232fc6384700d7977b39ce6c2f82
Signature: 4156c005b5e099e4cae1d24a4ef35ae0749e4cdeade8929a74ef00f4f57e18c864ae6a376d8bdb55
Test: Verify
Message: e52be63c5733b8e9860af61ee50f73e7f679522cd72f31af10ec93469c938e5b35d0b7a1e4f14b18c9039f442831caa9b659908b22ef92e4e617b4a54ffecf32ca7a981872e2d011d72fae3a11538a9306d9cbb7f8bf12de5291a710b3c625ab3b5f621816bea1ca48c4fb78b82f0b9b7e32d92a71560994ec9145ffe1a4e7c0
Signature: b07e9d17a45cc2ceeb1fde1299ba0d6b3bcbe7dcc50e823d12ae5d86972fc6e21d499d38120d7638
Test: Verify
Message: 1b223eeb3cebfc1575b37c5eba339ca55ab86c9300a64fcfe94d4f6467f1c06f9714190d5f060f84abb0f3b0e89d4db0c04abad218af03bd480d7fdd9afaab1405ab079e2a82334590d84ac71c0c7f85d4ccf76dd5a3e62992c4ec894f15b22edd7fc0789775a2b29dc33c7d5099697a0ed7db3b2f9b2f6c40084f3e7e590d15
Signature: 199d5f32d2645a1d46ef1cb3ecb15a34eab59b9a8c3cbf5810966097bb9c280e812c22ac298e156a
Test: Verify
Message: 7296f7fd229c0893a84a5b7ee87a034416e5ae1edf1e7416d6c9df5f20213cf564aa2175ed32403f220e6aca2893e747d5d3f579d8999ed427a7bfd5aa2f55a1258f0be16b5102dcc163e0d790931baa504e87a3b1991ea00b501067089f0b498fbeccf8f4f1e7a55fbfd35d7a7239a55fcf7d55c0178eb2583eebcf936af626
Signature: 5e2044f956599ab077c91e0f9f9408dfd3c458c61fe6edfab105b1f711919c0b43bbb7557252b193
Test: Verify
Message: 7279097dcfe09b8615d3275b713dced645da08ef435fe783c5e888676fa3daad07bb933594886f78b6f4ab914530c28d2e9967f48ae5c398ff92f09d5c90b6c9702d850d2b42b355f89cf68d5aad25f4c5742ba5bfaa4c62372e9ca425b3bce164a8d81dcc67deb494a20066e60b6da3c4434b191a06f87c249482950362658e
Signature: c2b345d1c28a149215db60952dac2854103f0260bd4994a0b35394474ab82958d7ceb406f6285f4c
Test: Verify
Message: 7c9b50842db0de693441a2c13323de1369e251c07cd49c41877ff69b672d142642ce53805a0e28cd11b7ca313c491e8facd7e382fa241e9d93ffc8df05dcb67a89b4cac6d01e587f12aedb47558ed958fb5b14898f43f284d15c2f46ff47c1d866050b4c2a1947fa52df2dfc172ce9e86d273ccdd368f070584f82c8eea60bb7
Signature: 363c61fe40b4c0a4f06908df5c46d8a9c98dee71cd1c56f8d7a16c081712cb1b8c92cfd00464a3e7
Test: Verify
Message: 0bf43670b5fe01cb48e75a19b519f324451ccbb3d85d8ef15c41311b906aca6efb48ad5027e4cdbd23e951f538f47564ea1da4d133c6d4cbfba32151db0aadc1137db703c975faf58471481ae93f677fb48a2ceffaa5d6579d97ad7c1067dbdb4da98ae01349404c659777e04093804f9b7b9a63a5934e6e3a340df4a7180d96
Signature: bbefc869907609019f4a85294aa854961e51c4884c235f4cdf85c4c3e0ff34069183ebf0ef50bb9f
Test: Verify
Message: 419ff761987d7257a0bc8817abb4077986972726e6ac93f311cab67ac91747fa7d021871b37f1bf8b082b55e6bbf4709b1a0fa099986cc7d2b44d82b4cd9ea5bec6e43f47490a9da6aafb38767d753e83bada47a5eacf6a59aa11758f665e4e6e7db1121b22a35b5253b19c7767542ce7bb7bcb10c972922b6da0b3aa1334e56
Signature: 29becc5afb5ea31a71b4169b91f9594d0819de2d409e4c0c3bfe8e2ea53e98dc1ad4a72f3e3081b9
Test: NotVerify
Message: 31c4c31942471dd6583810807472b62ce7cbbddbac7de47f08d7bb4b6024973f5adcd3f4380a4ea571fd227f9133a22a53829698fc88ba0dfa55746fbe58d6d0d687d43a4fd3c7ba4acb21afdd8f72542df89c8cc90553ee4989d8112713f619dd1e3d82407a7d2c1cfa87a8115f20c1ad84454ecbcca6382bc95dc6532eef31
Signature: 3c999e56f7ba49e48cb72c76bb7848d4562aa96dbb8c5a3adc19533b00cb2a421fa107b0b956452d
Test: Verify
Message: 64a5d78514c2e26b011e7bca8ae480a2770cb50b03bb6fac29db817c30fb6bb87a68c225898ddb885288bb62c70e43f19f8198646850d15dd08ee5ad30d6d34b595e1395a4593dcb3493f8c98e4825055d454dc87f4249b1537e3067469c869e9cbda24d7cdf602d3f760876fa497fd5498facb15f492d9f4be23c238d05dbaa
Signature: c3a0e8c6df40bb4d672d2438f4f770c141054f1e0b6cd25a0f9d0de138d6c8eb028ae0b23dbd2720
Test: Verify
Message: c4d9d647a62a699ce00ac9c55b2197a796fd1e8e2120f2d75a50cadf671a9c2c74a8f7db2ec5a549802e81058d1c95f6ee0e78c92ddce79e82f9a3f3cc088ad0d3a2f934bd6661c0ce4327a26402c2c432171036bca8f8da13df464ed36dc31f5a5f942b4a25d55741e07673d8ec556adaae9caec69f5ee387996dca72617e71
Signature: 1145693d535af4e7b13ed5801c2539db279007dca94800d15c4f2d184c71cf793feab7e46c52121b
Test: Verify
Message: 9981198067ce9d394f53f1233ee06b86075ed7d61142c04f3e54fdcf1ea280f454bf5b76494113c6107a2ae89a76e78e1b356876bc2aeb0582f459257e5b145b368e022d539bdab38d2fae7cd490baa4c1d86b333c74b3b86edd8c25e995cbee1664275ddfd489399eea969746277b00d0c0f8c5e919b09eda88af89b7473ce2
Signature: 57f2c2fd72f077ef67ceaf46d99753bf796a4712a018b08a786d4c40136256ac0a8618db7dd1eb28
Test: Verify
Message: bfcbe3e18f4423b9f21b33fadb4763c2e4221126f11b6c79099e6bd9714008000a2fc249edda520144dcacf16c2e3929488e540ee82a03a65c92f723d2dcc6aff61967778bf8eefa46b98a94eb55bc45aaecd9c7bc6fc3d13a8ee4a53de46be03c61cb82a2f8703cae8bc4fa901362b1c2149a6aa440258f5b6a2a76ebae712c
Signature: 5c141ab2f4ee5a513c4ee7e9a5e770f294859b1f6551d44ed78029dbbebe181a73e2726f1b553022
Test: Verify
Message: 839331e55e6928503c36c0530394dea50f46f78d7bd8fea1ae7894c02a136b4e91b3fbaff91869067196b42fd32e22fbcdf0eaab2b9023af6747ec9f73eddd7bc555ae1fa4e8260ab2844750ba97b8ddbc7773ec3705afc6b68310c09eb20d6f362fa22ef71038d316bad1ae500678c2f594e847386e7c60b6e157194499d4a4
Signature: 0ad3d7f5ea209ad35ba4a0a17e16483c50f5e4953a692ea71730d7c5c4c13feed38ed90759aa2e86
Test: Verify
Message: d4fdc830db8cef7540b6b3ab242cfe3bb59004a3f3c61b60a37cda1890fc7108093249ae98f9dcb7ffaad62b79e76dd72fa4fdfbf878e8355523aeadac5f4882c5ecc97583d638d5e309a8aa3a189925ab4a9348e7e601d129c14b6d7005381bff4383dd13bcbba6e4ec6081df583bfe229afee237aa1d0e156eecb05485f9a9
Signature: 189c08e378bc9feb81891706f80a9fcd1f10725564e3814342937391e39f8830eaed6702b8579e3d
Test: NotVerify
Message: 3fb043ac04c26a1d06fa3f3638e0ab0a218b5a74c36243f4ce1278c606d02b44f1d1027ec6069c17931c6463adb495be5de08e2fc8de583e1f187513085bebd04d579130c4589a607e445f1e33d57110ee17df67f524c4b4fb1f150a896fa955aa3d8afbd6307bb12168c99fa4b957b72c29e45222aca00dba1eefe460827d8c
Signature: 65ab093718776e0b945e5fa24014468ee40422b3688c00beb21593dd4785c90b350e9471a5dff538
Test: Verify
Message: 155f0682c1d481571fd2d93a6bd70e5e2a6fee3702270f03d7b40d9c2c65057eb8c6521448968747d5ebac49e5a4be9f270f616d49dce8061d4287b4ed6fd7c41c368bd6fef47163f9c3ac8fdce330317f657e209c19a2c1eeba6ace8858e86877072a609cc638c2c3b24fa3086c5d2d6cc7bde8b3b6344b80762c83b4f73082
Signature: 90e0b86567a2b176a74a817d52009c2bb553eb9ac3694f997c5f70ca3936b6d57f1908868ffc7518
Test: Verify
Message: 4b03e4a77dd910d51e6c170faa228f3d5c258c96bc44cc986a0d244629292ca62ff8277aab6d353e982bbc62c1e113c815e371812d0916c41ccdb83076a03043a38c651b6511796ba83933c18afdadf6abdc3ef6b6baaab230f6896280d0f50040f97801c37c3456e7cd54a31c2eb3bfb54bcc6c6e0de2583fc270536071d3d3
Signature: 999adeab789df72dab3c86e115140d0dbb4905adbebe59a1995fbc73fc678a8ca89d7b6cb644569f
Test: Verify
Message: a59d6636f5dc1fbe82ec2df71a90657f5ccbbcf1af6e69157de03b45b42e3c227f53877942c96770d450b1f500fd64683e877e87aece219a56ace7e19d01823b07f9981733a1dea012aa7324697c7fc68a7e0c654fa524cb573b2c1a84f18074b52850eac17cbba7b4932a5e4d24eef1b84b1d62880ba9fff824c2ca63186f26
Signature: 30f81281e18c995d53f02e6d04eb988bb0b8bd3f1af1a7c8447c704f06d7379dae2ccf95ec13edd9
Test: NotVerify
AlgorithmType: Signature
Name: DSA/SHA-224
Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf
KeyFormat: Component
Modulus: C196BA05 AC29E1F9 C3C72D56 DFFC6154 A033F147 7AC88EC3 7F09BE6C 5BB95F51 C296DD20 D1A28A06 7CCC4D43 16A4BD1D CA55ED10 66D438C3 5AEBAABF 57E7DAE4 28782A95 ECA1C143 DB701FD4 8533A3C1 8F0FE235 57EA7AE6 19ECACC7 E0B51652 A8776D02 A425567D ED36EABD 90CA33A1 E8D988F0 BBB92D02 D1D20290 113BB562 CE1FC856 EEB7CDD9 2D33EEA6 F410859B 179E7E78 9A8F75F6 45FAE2E1 36D252BF FAFF8952 8945C1AB E705A38D BC2D364A ADE99BE0 D0AAD82E 53201214 96DC65B3 930E3804 7294FF87 7831A16D 5228418D E8AB275D 7D75651C EFED65F7 8AFC3EA7 FE4D79B3 5F62A040 2A111759 9ADAC7B2 69A59F35 3CF450E6 982D3B17 02D9CA83
SubgroupOrder: 90EAF4D1 AF0708B1 B612FF35 E0A2997E B9E9D263 C9CE6595 28945C0D
SubgroupGenerator: A59A749A 11242C58 C894E9E5 A91804E8 FA0AC64B 56288F8D 47D51B1E DC4D6544 4FECA011 1D78F35F C9FDD4CB 1F1B79A3 BA9CBEE8 3A3F8110 12503C81 17F98E50 48B089E3 87AF6949 BF8784EB D9EF4587 6F2E6A5A 495BE64B 6E770409 494B7FEE 1DBB1E4B 2BC2A53D 4F893D41 8B715959 2E4FFFDF 6969E91D 770DAEBD 0B5CB14C 00AD68EC 7DC1E574 5EA55C70 6C4A1C5C 88964E34 D09DEB75 3AD418C1 AD0F4FDF D049A955 E5D78491 C0B7A2F1 575A008C CD727AB3 76DB6E69 5515B05B D412F5B8 C2F4C77E E10DA48A BD53F5DD 498927EE 7B692BBB CDA2FB23 A516C5B4 533D7398 0B2A3B60 E384ED20 0AE21B40 D273651A D6060C13 D97FD69A A13C5611 A51B9085
PrivateExponent: 00D0F09E D3E2568F 6CADF922 4117DA2A EC5A4300 E009DE13 66023E17
PublicElement: 70035C9A 3B225B25 8F16741F 3941FBF0 6F3D056C D7BD8646 04CBB5EE 9DD85304 EE8E8E4A BD5E9032 11DDF25C E1490755 10ACE166 970AFDC7 DF552B72 44F342FA 02F7A621 405B7549 09D757F9 7290E1FE 5036E904 CF593446 0C046D95 659821E1 597ED9F2 B1F0E208 63A6BBD0 CE74DACB A5D8C68A 90B29C21 57CDEDB8 2EC12B81 EE3068F9 BF5F7F34 6ECA41ED 174CCCD7 D154FA4F 42F80FFE 1BF46AE9 D8125DEB 5B4BA08A 72BDD865 96DBEDDC 9550FDD6 50C58F5A E5133509 A702F79A 31ECB490 F7A3C558 1631F7C5 BE4FF7F9 E9F27FA3 90E47347 AD118350 9FED6FCF 198BA9A7 1AB3335B 4F38BE8D 15496A00 B6DC2263 E20A5F6B 662320A3 A1EC033A A61E3B68
Test: KeyPairValidAndConsistent
Message: "abc"
Signature: 4400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3
Test: Verify
Signature: 5400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3
Test: NotVerify
ModulusSize: 2048
SlowTest: 1
Test: GenerateKey
AlgorithmType: Signature
Name: DSA/SHA-256
Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf
KeyFormat: Component
Modulus: F56C2A7D 366E3EBD EAA1891F D2A0D099 436438A6 73FED4D7 5F594959 CFFEBCA7 BE0FC72E 4FE67D91 D801CBA0 693AC4ED 9E411B41 D19E2FD1 699C4390 AD27D94C 69C0B143 F1DC8893 2CFE2310 C8864120 47BD9B1C 7A67F8A2 59091326 27F51A0C 866877E6 72E55534 2BDF9355 347DBD43 B47156B2 C20BAD9D 2B071BC2 FDCF9757 F75C168C 5D9FC431 31BE162A 0756D1BD EC2CA0EB 0E3B018A 8B38D3EF 2487782A EB9FBF99 D8B30499 C55E4F61 E5C7DCEE 2A2BB55B D7F75FCD F00E48F2 E8356BDB 59D86114 028F67B8 E07B1277 44778AFF 1CF1399A 4D679D92 FDE7D941 C5C85C5D 7BFF91BA 69F9489D 531D1EBF A727CFDA 651390F8 021719FA 9F7216CE B177BD75
SubgroupOrder: C24ED361 870B61E0 D367F008 F99F8A1F 75525889 C89DB1B6 73C45AF5 867CB467
SubgroupGenerator: 8DC6CC81 4CAE4A1C 05A3E186 A6FE27EA BA8CDB13 3FDCE14A 963A92E8 09790CBA 096EAA26 140550C1 29FA2B98 C16E8423 6AA33BF9 19CD6F58 7E048C52 666576DB 6E925C6C BE9B9EC5 C16020F9 A44C9F1C 8F7A8E61 1C1F6EC2 513EA6AA 0B8D0F72 FED73CA3 7DF240DB 57BBB274 31D61869 7B9E771B 0B301D5D F0595542 5061A30D C6D33BB6 D2A32BD0 A75A0A71 D2184F50 6372ABF8 4A56AEEE A8EB693B F29A6403 45FA1298 A16E8542 1B2208D0 0068A5A4 2915F82C F0B858C8 FA39D43D 704B6927 E0B2F916 304E86FB 6A1B487F 07D8139E 428BB096 C6D67A76 EC0B8D4E F274B8A2 CF556D27 9AD267CC EF5AF477 AFED029F 485B5597 739F5D02 40F67C2D 948A6279
PrivateExponent: 0CAF2EF5 47EC49C4 F3A6FE6D F4223A17 4D01F2C1 15D49A6F 73437C29 A2A8458C
PublicElement: 2828003D 7C747199 143C370F DD07A286 1524514A CC57F63F 80C38C20 87C6B795 B62DE1C2 24BF8D1D 1424E60C E3F5AE3F 76C754A2 464AF292 286D873A 7A30B7EA CBBC75AA FDE7191D 9157598C DB0B60E0 C5AA3F6E BE425500 C611957D BF5ED354 90714A42 811FDCDE B19AF2AB 30BEADFF 2907931C EE7F3B55 532CFFAE B371F84F 01347630 EB227A41 9B1F3F55 8BC8A509 D64A765D 8987D493 B007C441 2C297CAF 41566E26 FAEE4751 37EC781A 0DC088A2 6C8804A9 8C23140E 7C936281 864B9957 1EE95C41 6AA38CEE BB41FDBF F1EB1D1D C97B63CE 13552576 27C8B0FD 840DDB20 ED35BE92 F08C49AE A5613957 D7E5C7A6 D5A5834B 4CB069E0 831753EC F65BA02B
Test: KeyPairValidAndConsistent
Message: "abc"
Signature: 315C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9
Test: Verify
Signature: 415C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9
Test: NotVerify
ModulusSize: 2048
SubgroupOrderSize: 256
SlowTest: 1
Test: GenerateKey
AlgorithmType: Signature
Name: DSA/SHA-256
Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf
KeyFormat: Component
Modulus: 90066455 B5CFC38F 9CAA4A48 B4281F29 2C260FEE F01FD610 37E56258 A7795A1C 7AD46076 982CE6BB 956936C6 AB4DCFE0 5E678458 6940CA54 4B9B2140 E1EB523F 009D20A7 E7880E4E 5BFA690F 1B9004A2 7811CD99 04AF7042 0EEFD6EA 11EF7DA1 29F58835 FF56B89F AA637BC9 AC2EFAAB 90340222 9F491D8D 3485261C D068699B 6BA58A1D DBBEF6DB 51E8FE34 E8A78E54 2D7BA351 C21EA8D8 F1D29F5D 5D159394 87E27F44 16B0CA63 2C59EFD1 B1EB6651 1A5A0FBF 615B766C 5862D0BD 8A3FE7A0 E0DA0FB2 FE1FCB19 E8F9996A 8EA0FCCD E5381752 38FC8B0E E6F29AF7 F642773E BE8CD540 2415A014 51A84047 6B2FCEB0 E388D30D 4B376C37 FE401C2A 2C2F941D AD179C54 0C1C8CE0 30D460C4 D983BE9A B0B20F69 144C1AE1 3F9383EA 1C08504F B0BF3215 03EFE434 88310DD8 DC77EC5B 8349B8BF E97C2C56 0EA878DE 87C11E3D 597F1FEA 742D73EE C7F37BE4 3949EF1A 0D15C3F3 E3FC0A83 35617055 AC91328E C22B50FC 15B941D3 D1624CD8 8BC25F3E 941FDDC6 20068958 1BFEC416 B4B2CB73
SubgroupOrder: CFA0478A 54717B08 CE64805B 76E5B142 49A77A48 38469DF7 F7DC987E FCCFB11D
SubgroupGenerator: 5E5CBA99 2E0A680D 885EB903 AEA78E4A 45A46910 3D448EDE 3B7ACCC5 4D521E37 F84A4BDD 5B06B097 0CC2D2BB B715F7B8 2846F9A0 C393914C 792E6A92 3E2117AB 805276A9 75AADB52 61D91673 EA9AAFFE ECBFA618 3DFCB5D3 B7332AA1 9275AFA1 F8EC0B60 FB6F66CC 23AE4870 791D5982 AAD1AA94 85FD8F4A 60126FEB 2CF05DB8 A7F0F09B 3397F393 7F2E90B9 E5B9C9B6 EFEF642B C48351C4 6FB171B9 BFA9EF17 A961CE96 C7E7A7CC 3D3D03DF AD1078BA 21DA4251 98F07D24 81622BCE 45969D9C 4D6063D7 2AB7A0F0 8B2F49A7 CC6AF335 E08C4720 E31476B6 7299E231 F8BD90B3 9AC3AE3B E0C6B6CA CEF8289A 2E2873D5 8E51E029 CAFBD55E 6841489A B66B5B4B 9BA6E2F7 84660896 AFF387D9 2844CCB8 B6947549 6DE19DA2 E58259B0 90489AC8 E62363CD F82CFD8E F2A427AB CD65750B 506F56DD E3B98856 7A88126B 914D7828 E2B63A6D 7ED0747E C59E0E0A 23CE7D8A 74C1D2C2 A7AFB6A2 9799620F 00E11C33 787F7DED 3B30E1A2 2D09F1FB DA1ABBBF BF25CAE0 5A13F812 E34563F9 9410E73B
PrivateExponent: 3ABC1587 297CE7B9 EA1AD665 1CF2BC4D 7F92ED25 CABC8553 F567D1B4 0EBB8764
PublicElement: 8B891C86 92D3DE87 5879390F 2698B26F BECCA6B0 75535DCE 6B0C8625 77F9FA0D EF6074E7 A7624121 224A5958 96ABD4CD A56B2CEF B942E025 D2A4282F FAA98A48 CDB47E1A 6FCB5CFB 393EF35A F9DF9131 02BB303C 2B5C36C3 F8FC04ED 7B8B69FE FE0CF3E1 FC05CFA7 13B3435B 2656E913 BA8874AE A9F93600 6AEB448B CD005D18 EC3562A3 3D04CF25 C8D3D698 44343442 FA3DB7DE 618C5E2D A064573E 61E6D558 1BFB694A 23AC87FD 5B52D62E 954E1376 DB8DDB52 4FFC0D46 9DF97879 2EE44173 8E5DB05A 7DC43E94 C11A2E7A 4FBE3830 71FA36D2 A7EC8A93 88FE1C4F 79888A99 D3B61056 97C2556B 79BB4D7E 781CEBB3 D4866AD8 25A5E830 84607228 9FDBC941 FA679CA8 2F5F78B7 461B2404 DB883D21 5F4E0676 CF549395 0AC55916 97BFEA8D 1EE6EC01 6B89BA51 CAFB5F9C 84C989FA 117375E9 4578F28B E0B34CE0 545DA462 66FD77F6 2D8F2CEE 92AB7701 2AFEBC11 008985A8 21CD2D97 8C7E6FE7 499D1AAF 8DE632C2 1BB48CA5 CBF9F310 98FD3FD3 854C49A6 5D920174 4AACE540 354974F9
Test: KeyPairValidAndConsistent
Message: "abc"
Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C18
Test: Verify
Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C19
Test: NotVerify
ModulusSize: 3072
SlowTest: 1
Test: GenerateKey

View File

@ -0,0 +1,553 @@
AlgorithmType: Signature
Name: DSA-1363/EMSA1(SHA-1)
Source: generated by Wei Dai using Crypto++ 5.0
KeyFormat: DER
Comment: 1024-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f02818100bd670f79\
b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a\
559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823\
227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81\
fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2\
940496d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d52\
83807b809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb\
0847ccbdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508e\
f57b437de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593\
ba36f17316580d50db1383ea93a21247650a2e04af904d041702150355dc8843\
45c08fb399b23b161831e94dbe61571e
PublicKey: \
308201b73082012c06072a8648ce3804013082011f02818100bd670f79b0cde9\
8a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a559a0c\
9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823227a3f\
580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81fffbf2\
0be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2940496\
d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d5283807b\
809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb0847cc\
bdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508ef57b43\
7de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593ba36f1\
7316580d50db1383ea93a21247650a2e04af904d03818400028180255cf6b0a3\
3f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d823f0e6aaaa\
41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9c44ab7367f\
77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b88b46860d9\
c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198
Test: KeyPairValidAndConsistent
Message: 66B92E1E2C44B80F7BFA
Signature: 06418D4F24A8059553951CA062BBD6E0833ED1745608E1158CA4B8F8FE1CD2AF087B5EEE08FCA0D7A63C
Test: Verify
Message: 973266BB0A492248082A
Signature: 02BA236FE800EECABB85698A76B5485865454B3016010755F0E1BF7CE26FB62BE4FD01141F5CA4144811
Test: Verify
Message: 9A6D079ED0CA9D8B40E8
Signature: 045BA3DB16E6B910DC89A2D26096625F757D62077D049886B85EBC7500884B4DDD1898BC52746C54F68D
Test: Verify
Message: AA34DCE67BCDAC927DA6
Signature: 0835C94121313842ABF04D4960E711D1F0904612BC09840989EEAFF2071522B75957DEAC801574BD22EB
Test: Verify
Message: 4EDAC08816AFDBF284DA
Signature: 08E1574E5299C910694D17075136F41EBD558D1B1805CAA3B6E98DCCC3702F286E76BBD29435CA2CEA5C
Test: Verify
Message: D82F2E903230962B8174
Signature: 0366F1AE94FD2CDEBA4EE879BB8923F0E49CFB921008E6A5C7457E88811D46DC7F297D6A96E909268244
Test: Verify
Comment: 1025-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f028181017310bf02\
d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368d\
db154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c2863\
05aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2\
f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b39\
49dadf3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723\
c00e36450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce234\
0b7c7a92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21\
f61d7f14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad2\
01194b36ea5f816cf83488c3e527d3a5515870d2da63d6041702150696b0f255\
468b7ac18e11632f208ca86383a46724
PublicKey: \
308201b73082012c06072a8648ce3804013082011f028181017310bf02d70ef2\
cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368ddb154a\
55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c286305aa21\
ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2f48a08\
84d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b3949dadf\
3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723c00e36\
450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce2340b7c7a\
92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21f61d7f\
14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad201194b\
36ea5f816cf83488c3e527d3a5515870d2da63d60381840002818045bf83e62f\
50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206e326819c50\
82d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7876a76ab0a\
09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b313463aa154e\
6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c
Test: KeyPairValidAndConsistent
Message: 2F585D0CE4FA1CD93880
Signature: 0643ABF8D3C2F4BAB02CF79D698948A1A416BEC05D00F33CC3D41CA9117E6CD99E5DCBBD4425DA12E98E
Test: Verify
Message: 4F09A1F217B8393199EE
Signature: 052DE620B5628EECCF7C56410CAC2B72A5AD1B5A67072ABF369453BC28A386ACD5939C9985C09338FD03
Test: Verify
Message: 03D7110A753B008A76A0
Signature: 01D44D16B5FDFB8C39AACEA72391A889EECBFFB5E701EB8F46E4FAB96326F73E0CC698E1F66C32FE5C2E
Test: Verify
Message: 129F4781D417671F886D
Signature: 00CE142CE967BA951B9DE26DEFB5B341CB49247C1308515315449B5533ED469B6470C4E3A3751E35E7BB
Test: Verify
Message: 3E1594F559D1248D1112
Signature: 07B192657E256B60567BF6EB399D8A2DE8FFF7AE8A031A655BEC911A82049155CDB4F2A76A8004AE646D
Test: Verify
Message: D6F0354F1B6B253B6997
Signature: 07FE18E0C00F6AC3CBCB95874AB66A98E34DF74F37059178C920C5D13CE173B8D2832310B9587940F6D9
Test: Verify
Comment: 1026-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f0281810250988282\
17d00108030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b4\
6e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e2\
74b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478\
d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb\
68cd95dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88\
787b4d616744b60e095575a177569c4a069e311e38b7240c43343367e23574c3\
0e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795\
d6e91c88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd\
84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f041702152db270c284\
328353f979cad99f4133c53acaa6ee71
PublicKey: \
308201b83082012c06072a8648ce3804013082011f028181025098828217d001\
08030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b46e4ce0\
750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e274b132\
5f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478d2da18\
80d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb68cd95\
dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88787b4d\
616744b60e095575a177569c4a069e311e38b7240c43343367e23574c30e4d9f\
05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795d6e91c\
88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd84bb80\
be8fdf97689942e944b7fbb6981e00cd680ee25f038185000281810179b283f6\
7868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9fb029c0ccb\
2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e89965a7785d\
5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a606fe671ea07\
3ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004d8
Test: KeyPairValidAndConsistent
Message: 7E4F2ED4E79062778A2D
Signature: 03DF91D560884BAA90258F0F78A7AB61F9A4A5CF3D363E8DE2EAAB389B9492C2B80C44509BF2372BDEE0
Test: Verify
Message: A0E35846B5CF1B5BF560
Signature: 21DF9C60877B6D7F531AAF1C39122779436029685109B2D736A45F51A80099041AA5F118D7D6025AD30E
Test: Verify
Message: 3B138785EFC6F520EAE0
Signature: 10A38520BAC07202DD1CB5A9C88B15B9579B9A1344025E4C4B9D1BC3AAA8C97AA90121D52E42E59A0A99
Test: Verify
Message: 0F6BE2AA764B485145D4
Signature: 0233267173F284737B68D15A500D23F3C86988E3DB28DD55AE3DFEAAA7251D354CB44315D6024CBE3E36
Test: Verify
Message: 6CD9FBD23EA58826FB04
Signature: 15A1B0DDA6BDB62D96AC557E3F1F24DCAD0C51EF3523B01EA2A8FD93761D0E4D070BA6352A81F31B776A
Test: Verify
Message: 473A82649565109E9E89
Signature: 1FE31C3A3EF6F57DE2586A5F2EBD48A5C707092D230E1D217EE0A752EFD9ACA8BF0B9EE9424184B8F8F2
Test: Verify
Comment: 1027-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f028181055402a8ab\
e9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefee\
f91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817d\
f7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75\
f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d\
0ba731a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82a\
f5aed5f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da6\
1cc58ee6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d\
32fb6238121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375\
1084225353f11ed837f3dc25de8374b6fdbfb6e313e46d0417021513b27094d9\
a5a3a9704cebdbe890da325fa26ad555
PublicKey: \
308201b83082012c06072a8648ce3804013082011f028181055402a8abe9cda3\
072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefeef91b7a\
a733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817df7e5fb\
1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75f8f29b\
58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d0ba731\
a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82af5aed5\
f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da61cc58e\
e6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d32fb62\
38121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375108422\
5353f11ed837f3dc25de8374b6fdbfb6e313e46d0381850002818103b06b9909\
7cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18cad6a454c3\
f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47fb0bb626baa\
fc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c42558ae463\
7eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5c3
Test: KeyPairValidAndConsistent
Message: AE6DCD9535AEEE3ECC89
Signature: 1BB090DC4573AA79F34181020C4D5B582BBA67062C23E5DD6913CE91482A05716784BA680F7F4AC1684B
Test: Verify
Message: C83A14EAC016D659F9FE
Signature: 182AC27BC4B77B145BF90E73A2CEEC5325941507F925279DF5B6280664CE82248348C3EDC59DCD428B64
Test: Verify
Message: 745E02041EB487D16CE6
Signature: 13C4F9AC03EA094CF7F60B96CAAA29053706E93DEC1024EAA1606E13B2C3062F2D6082846D29E6E60829
Test: Verify
Message: 62F019655A83501FC4E7
Signature: 077E19089B0BB32A7B21B0D27218C6E1F14AD432181BB76FF5E7EC35EC01CA47595F4C7ABB8ABD6064A9
Test: Verify
Message: 351D37A4B5046E885EAA
Signature: 21962B09FF030A41251AD592F8D2AF24144B3AC713245AF18BE28F192FD29326D91F12A76A01477C8788
Test: Verify
Message: 4073D33915F595F4FF9D
Signature: 1F4CF158E806AFE59139E2A9840BCEF79237800C521E49B7DBDF9830C86E7653FC716B43224EA00C883F
Test: Verify
Comment: 1028-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f0281810abdeff64b\
6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1\
fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d\
554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354\
725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368\
e2b864b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad\
7b42f0d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97\
c22d02a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534\
ec336cb79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794\
175e285cafdece6778ab19a0b444747fee20d5bf929e70041702150771305163\
506b2b83bd5279935df1b5fcf180b004
PublicKey: \
308201b83082012c06072a8648ce3804013082011f0281810abdeff64b6f2825\
6e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1fbb6af\
058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d554913\
339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354725289\
f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368e2b864\
b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad7b42f0\
d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97c22d02\
a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534ec336c\
b79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794175e28\
5cafdece6778ab19a0b444747fee20d5bf929e7003818500028181043e4ae624\
4408879264fe6b859b578218705b9a45af22efded27141b7f090cbcbe42dcf48\
1df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe2789e088b044\
89ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb6e1cef8e97\
8c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f918
Test: KeyPairValidAndConsistent
Message: 4867852C83F181CDD010
Signature: 1D0F4F49AFA0448163604847C9308A824ECE928E05066D47892256DB725FCB31F93F38B9E02C71E100EE
Test: Verify
Message: DA6493C86D6B62C5961C
Signature: 1BB4A8A1B8D81EEE9AB291C49F688F27D2191EA51B15A5DA66A6367D931DAB338E595C80E70CEE4BB644
Test: Verify
Message: AE2C1136BFE966794A6C
Signature: 02AFAB91234D08FCEC22E57AB5718FBF41A86D2469012F8476BFCF4EA4E03D9F7A6E467ABDD0B5626784
Test: Verify
Message: B20160E0442E726BE749
Signature: 140A45F4933F05807A533628962E42A8BEFAF5977917F2A8D8706B8BE83EE6B6CEBCC951553B4E3203B5
Test: Verify
Message: 3638935C4492F5CA42F2
Signature: 234F78EF68343E77710E17285E47994AB599F3646315C37B8CC01CF6BE9C803D6B81B232DE9171DA7967
Test: Verify
Message: DFB674CA6E0FDC0CBE99
Signature: 1DF9B1B9F78F5FCCCCC5F698EDDBC8EB28C0F4D10002A052284AA4FBA601D3047E3AA97F8CF73731A44B
Test: Verify
Comment: 1029-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f0281811d0f176b67\
99b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb\
76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04f\
f80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e562\
1c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357\
536531dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08\
f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef96250163\
3d0f3947b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a7074\
4331fd09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808\
d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af8a041702152dcdc00a86\
ecc2a60ebfa6660a83af1d7c3e570b85
PublicKey: \
308201b83082012c06072a8648ce3804013082011f0281811d0f176b6799b367\
24c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb76507b\
c150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04ff80538\
d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e5621c949a\
9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357536531\
dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08f077a9\
a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef962501633d0f39\
47b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a70744331fd\
09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808d49eeb\
6e1bb0a8619b1edee8fb8295dc042423f684af8a0381850002818113834f0fa1\
f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588d61db62e49\
2f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9ef32780e8c\
453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f497bd90b06\
824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea0673902
Test: KeyPairValidAndConsistent
Message: 1E34034C47FE533F8FF5
Signature: 04E171B845E602A871CD5DACA5738BC4585A452A86108D03D70C3D2D605FAE90DB8D339AADB692EB1ABE
Test: Verify
Message: 53D2CA23AF7DF95634F0
Signature: 1327D4C32DFB874EA2104A9B30EAF288C7016146D1217C237E0201482E483EBC7F0A713748547F9B6B21
Test: Verify
Message: 0F056E08AE77B3B30F33
Signature: 1B4A688745F3D86B0D8A5D97FFA0E31C322EFAAD0A0FCD907B2D49EB8150539E81FF29341EC34440425C
Test: Verify
Message: F08C80E8FD38A3867B76
Signature: 0972705B5E84A8BA57226C770CCB0ECDEBC816EA162FCB3BA5B3C235105EA75F379EE84187E27A86D21D
Test: Verify
Message: 6D392690B92B3E75020F
Signature: 185968475C67C936CB152F76E80EE22FB82A27ED120C5C0ADB2D750D2C38F0A9671EBFEC2815F675C24C
Test: Verify
Message: 10AE0E091A267641FACF
Signature: 1AC3C2010BFB10CA6889120A23F984FE0D4CF79D1B07578217E5A3C68EDF05006C1F3F1BFB3848E4ECE5
Test: Verify
Comment: 1030-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f0281812a32d68d31\
248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0a\
b85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73\
aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5\
708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7\
996c1d3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6\
277933c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400\
f043234e4a746442792734dc80274a00a3676101be94759fc2630b9a85896648\
8b12611d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe\
935f641c666fdc788a2b968c6668c669115756b961d9fe04170215091155581e\
cb7a0a792ba95c772d9382298bfdfa6f
PublicKey: \
308201b83082012c06072a8648ce3804013082011f0281812a32d68d31248024\
053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0ab85491\
d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73aa43ea\
9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5708b5e\
8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7996c1d\
3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6277933\
c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400f04323\
4e4a746442792734dc80274a00a3676101be94759fc2630b9a858966488b1261\
1d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe935f64\
1c666fdc788a2b968c6668c669115756b961d9fe038185000281810d7d22c931\
422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c68f6a3307c\
a34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad664546d14c\
87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2cef5f084359\
566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498ad
Test: KeyPairValidAndConsistent
Message: 23EEE1D0EA8950B8F322
Signature: 1800356929B316D1E4FA886CAE0CAD56E32506522D0B8440BB7695D522F31CD87079BEA4CA9F18ED4288
Test: Verify
Message: 13FA6F2816FB83190A21
Signature: 207830C2DE87296BC39CD21630F26228F00CF60BC3150CBC82CFA9006534A6C5E354AA281C434A8C2077
Test: Verify
Message: D071CCC0C6E4CAE82E5A
Signature: 054C9C0C30C6B73AAB9E54C11D4EFC82BD6E8680932501D78A58EE305930E72ACD3BB2565023455DEAEA
Test: Verify
Message: 22CE83F4803BF3EA2C48
Signature: 07065A6F5C9A086CB83F2F113895730C1B2FE0DCD90FD6AA887B066D685D3DD6C3C0D95CB8C8A48FBFF1
Test: Verify
Message: 7A927EC7BB9CA16C1B0A
Signature: 24BF344DC7B25F831428078AC0D929A72A29160B6205A1BD4B1B2C5BD8BEFCB650DE23652701DDD4F4EF
Test: Verify
Message: 9591B069993E10BC0B84
Signature: 0E6E6BF91BBC9FB91FCD3CE32907F5B6AB5E88928C1E3BC92649EDFDFE672AFB654C765F2758DE4BD78F
Test: Verify
Comment: 1031-bit DSA key
PrivateKey: \
3082014c0201003082012c06072a8648ce3804013082011f0281814d58515f7b\
41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef\
91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600c\
bd4752d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac9\
8c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f8\
6a81a6bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdb\
dcadf6706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f41\
8c1140d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b\
75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9\
c19d9045499877b93ecb4e7c64808b742063bbecf60e29041702150e61a054ee\
6510734a80f67a54d8c4151c957ef16f
PublicKey: \
308201b83082012c06072a8648ce3804013082011f0281814d58515f7b41c4fc\
87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef91dbd0\
9e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600cbd4752\
d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac98c6fc5\
2ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f86a81a6\
bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdbdcadf6\
706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f418c1140\
d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b75787e\
41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9c19d90\
45499877b93ecb4e7c64808b742063bbecf60e290381850002818119b50f1eea\
45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f602506bc3572\
45deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f286adb498d\
1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87664d80e5c9\
7398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc07
Test: KeyPairValidAndConsistent
Message: B4B3C8FBE82013228A21
Signature: 0E08FE696A4C70B16A127CAE8C61E5B38B7A1F34402584D1F21F71016054E820E3B1BB866309D93A7DA5
Test: Verify
Message: 17D2D18302173E2CE992
Signature: 0203C3869E15F8847B58BD158CB746433AA05F201317C0541908ACD5EA78A02D1FAB79380619199CC5B8
Test: Verify
Message: 8032AE177D6DF38C7E27
Signature: 1F436F5BC73A3402221B539F1D7CCBD4C3AE948418216122809E062ACF5D6086546FCBB293B4C7510CBD
Test: Verify
Message: 768640A60A3C62E02428
Signature: 0A5D52C534A9BF1175247538638077489537025975254955F8A96B0CA2E7985D5D6E3DD54EE298C90100
Test: Verify
Message: B0999CA45B77ED63639D
Signature: 144DDD0C1BE6D96FC3AFFA240FCD6D2AD0748C848F0C8A25AE8AC2E55A38DE9DBBAFF90CF464547365E2
Test: Verify
Message: 587EDB968FA82C12C930
Signature: 01FC4F6F98898F3639E8D93E7C2E6F3945120AD19D15EA13EDC96BED7E73A7D5D161217F1C67F3048BE3
Test: Verify
Comment: 1032-bit DSA key
PrivateKey: \
3082014e0201003082012e06072a8648ce3804013082012102818200d551680a\
62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac8\
83ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b\
197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180e\
a718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e\
802b5369c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b0\
81afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a7\
23e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae222\
3900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60\
c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a041702150f66e0\
4c5a75d3eac03d744e5432f23e3aea066a63
PublicKey: \
308201ba3082012e06072a8648ce3804013082012102818200d551680a62ebf9\
8f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac883ead2\
2efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b197721\
bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180ea718ca\
7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e802b53\
69c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b081afc4\
d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a723e7db\
64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae2223900ad\
af52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60c19316\
c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a038185000281812640c1\
88055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c173c901\
370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237bccca5\
6524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca04d8cab\
cf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168b5
Test: KeyPairValidAndConsistent
Message: 909068BEFFA43331FDC7
Signature: 2CCCFF8A67073E5DF643B61A5AE7A5BC216FE267E713B9005F69797B44ECD33BA5DD87461B5C72C50390
Test: Verify
Message: AC8AFC7A1D9105539E10
Signature: 0A2BEB58D806EECDDCBD590EBE4AE5AE7BDA326EA0072ADB9FA6A6FEBF40488C80690A2B1DF141BACF91
Test: Verify
Message: 310E40311BB3F77F9483
Signature: 28726153B52FE75F1FAA4C97124EE042065D2C90B50B43F885FC45C42C3ED9BDC4EC2D36A2799A041C67
Test: Verify
Message: 35455ABD53E6FB11ED9B
Signature: 15B3D6ACA9EAD5AA1501ED201335AF9B46657A4CBF00D19328018D82624D4BD9B22D645429B385DADBCA
Test: Verify
Message: 95FFA73B52F0D06A0C1E
Signature: 2904FA8F78B6DF0D15A08714C8F86B97532A9D13B617EC03F329DA20E42816CCF45DBACB432B1F5011C8
Test: Verify
Message: 1E9934125DA6E9B4E975
Signature: 1666A3B9DBE26F2AE3F9BF7CBF47989D87AF82F580147BEC8350E21D4DB0691074F63B85A3A7D8E82A8D
Test: Verify
Comment: 1536-bit DSA key
PrivateKey: \
308201d4020100308201b006072a8648ce380401308201a30281c100fada6e4b\
ecef964a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b5\
8d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac\
05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054\
e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c5\
5ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf\
5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232c\
f9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f\
9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c89\
0aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac27\
0acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150a\
f96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c97\
2c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762\
b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43041b02191d\
4cedc87d55eea31bd702139b90be08d58692a1f97628a01b
PublicKey: \
3082027c308201b006072a8648ce380401308201a30281c100fada6e4becef96\
4a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b58d7d40\
027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac05da09\
e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054e7f015\
d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c55ae998\
f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf5ce686\
74e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232cf9bee9\
d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f9d1317\
aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c890aa222\
4ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac270acdd4\
5579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150af96f9a\
7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c972c8192\
a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762b9fa15\
c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be430381c5000281c100\
819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\
f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\
7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\
6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\
a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\
67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a
Test: KeyPairValidAndConsistent
Message: 9F6DC301DF53FE22CAC0
Signature: 15B22111FEFA4AC1E53F2FEC346559E3613BB94F7BB3E2B7551D8B982FA10C38E7F182834DFC7391155FFA42AB945A29E118
Test: Verify
Message: 2D7B5B9A27EAB468331E
Signature: 029EEA97097FE926DD09821284BCA3F45750B1F8102380D20100596D914DBF6BEFBE1B7A938E3AA5D656B6FD99E8EEE7C606
Test: Verify
Message: F552FCBBA04FFCCC5CB6
Signature: 115DE3CC1553CD5E4D40CCED80146DB1D76C10D992AACBCBCB05375C5FDA9F65B9A19DF7E51E6A36A3F2830AEA433AFD4F8B
Test: Verify
Message: 0D52B894153A4BB74068
Signature: 0F6B8CC28D82E22B9B87D62CFF5C7B2289BB2F8008C42F105B2322CF95BC6D443A9D89A292F482490D94693A44DDF7AC4BD3
Test: Verify
Message: 294442E103CC0CBA32A6
Signature: 0FBD8768A18C2B28CE95775AD734157C34C1C3961C1DBBAFDD0A3E92A312A7925AFC9F7F4760FB0C56B42A2042C6B8B37C0E
Test: Verify
Message: E993D8FE1E6F6C3914ED
Signature: 0559D66BAC906C607BBA769AAFEB93E9AEC55FDD4597E432870CDC8A3DF9778301A0B218C886F6B08A414C51BD2F8214201A
Test: Verify
Comment: 2048-bit DSA key
PrivateKey: \
3082025d0201003082023506072a8648ce3804013082022802820101009a0886\
5d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f\
00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f\
31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466c\
f60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e\
4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9b\
fcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678f\
accdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37d\
dc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03\
f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab541702820100\
75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\
6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\
b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\
0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\
4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\
092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\
8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\
4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a\
041f021d0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d\
2d
PublicKey: \
308203423082023506072a8648ce3804013082022802820101009a08865d2bc9\
e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f00e52f\
7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f31f82c\
8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466cf60fe9\
fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e4dfc28\
37e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9bfcaa82\
334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678faccdb7\
f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37ddc1ccd\
ea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03f35f80\
fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab54170282010075c5d8\
c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1675768\
4d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9b6e962\
594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4013108\
1f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b594b1774\
d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2092aa5\
83c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b8ad4d8\
9f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc7074ee3a0\
b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a038201\
050002820100267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9a\
ea7eef1de6e4c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed25\
4cd65754d84dd21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e\
03f9b903880ce3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c9725\
2bdb42d7bd65ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb\
288b78730d89fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f\
54a1c5a48294dda908f904afb7db398682c809ce13abd49279221d5b40ad7621\
6bad7ca256d718d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376\
489f02fa8c10
Test: KeyPairValidAndConsistent
Message: 5F3914F7AE0F6C76D152
Signature: 03D30B7EAADDCB384CECDBB7541DFE57187242C836A6C72AF6C2525E1A01DB97DF3F41156089162FAFC87361F2F28E55616A50633637FB13EFE3
Test: Verify
Message: 769583D4E7EAD14C137A
Signature: 01DC2815FD4918B8D314526066A03AD6593C8CED9E1ED04252B1BBA59D019F1C965028DA88BF4DB35AEDBA2C3C963B7933E5C07C590EF78BDFA1
Test: Verify
Message: 6441D5239F50C71DE0F5
Signature: 013F6D395DE56832F72F17F7F7572BB6DD1C48BADCBDEA91F0A634486E034B617DA8F5AB5E6F78C691313F822C599B6400A0A119A5DA330C6830
Test: Verify
Message: F1C2D4F7C3ECDF2C17B7
Signature: 006441A8B3517613F950BC1C84504082C0C3EA10CC08DCC1DA22E05480036D78345B17244F0DE41DA8342AF3441489CF9880BAA01BF2745CAB3A
Test: Verify
Message: 752A1F2B8D9A717A882F
Signature: 0127027984402F5B8C7DB1B7666FFA787548E4200D26B9D3B20EA9B4370298A9BDC901F324844613E8B5F34F2BFE40D9E6513D0E207B5105A9B1
Test: Verify
Message: 666DC6B1E871026EDE56
Signature: 03E87B55A7E81318B6B7057C901F8E3DC564053C1EA08B1F1FD965453803F21C20CE7FCCF606FB1328EC987666E87AF16ABE6B42DB854BFAA019
Test: Verify

View File

@ -0,0 +1,75 @@
AlgorithmType: AuthenticatedSymmetricCipher
Name: AES/EAX
Source: http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf
Plaintext:
Key: 233952DEE4D5ED5F9B9C6D6FF80FF478
IV: 62EC67F9C3A4A407FCB2A8C49031A8B3
Header: 6BFB914FD07EAE6B
Ciphertext: E037830E8389F27B025A2D6527E79D01
Test: Encrypt
Plaintext: F7FB
Key: 91945D3F4DCBEE0BF45EF52255F095A4
IV: BECAF043B0A23D843194BA972C66DEBD
Header: FA3BFD4806EB53FA
Ciphertext: 19DD5C4C9331049D0BDAB0277408F67967E5
Test: Encrypt
Plaintext: 1A47CB4933
Key: 01F74AD64077F2E704C0F60ADA3DD523
IV: 70C3DB4F0D26368400A10ED05D2BFF5E
Header: 234A3463C1264AC6
Ciphertext: D851D5BAE03A59F238A23E39199DC9266626C40F80
Test: Encrypt
Plaintext: 481C9E39B1
Key: D07CF6CBB7F313BDDE66B727AFD3C5E8
IV: 8408DFFF3C1A2B1292DC199E46B7D617
Header: 33CCE2EABFF5A79D
Ciphertext: 632A9D131AD4C168A4225D8E1FF755939974A7BEDE
Test: Encrypt
Plaintext: 40D0C07DA5E4
Key: 35B6D0580005BBC12B0587124557D2C2
IV: FDB6B06676EEDC5C61D74276E1F8E816
Header: AEB96EAEBE2970E9
Ciphertext: 071DFE16C675CB0677E536F73AFE6A14B74EE49844DD
Test: Encrypt
Plaintext: 4DE3B35C3FC039245BD1FB7D
Key: BD8E6E11475E60B268784C38C62FEB22
IV: 6EAC5C93072D8E8513F750935E46DA1B
Header: D4482D1CA78DCE0F
Ciphertext: 835BB4F15D743E350E728414ABB8644FD6CCB86947C5E10590210A4F
Test: Encrypt
Plaintext: 8B0A79306C9CE7ED99DAE4F87F8DD61636
Key: 7C77D6E813BED5AC98BAA417477A2E7D
IV: 1A8C98DCD73D38393B2BF1569DEEFC19
Header: 65D2017990D62528
Ciphertext: 02083E3979DA014812F59F11D52630DA30137327D10649B0AA6E1C181DB617D7F2
Test: Encrypt
Plaintext: 1BDA122BCE8A8DBAF1877D962B8592DD2D56
Key: 5FFF20CAFAB119CA2FC73549E20F5B0D
IV: DDE59B97D722156D4D9AFF2BC7559826
Header: 54B9F04E6A09189A
Ciphertext: 2EC47B2C4954A489AFC7BA4897EDCDAE8CC33B60450599BD02C96382902AEF7F832A
Test: Encrypt
Plaintext: 6CF36720872B8513F6EAB1A8A44438D5EF11
Key: A4A4782BCFFD3EC5E7EF6D8C34A56123
IV: B781FCF2F75FA5A8DE97A9CA48E522EC
Header: 899A175897561D7E
Ciphertext: 0DE18FD0FDD91E7AF19F1D8EE8733938B1E8E7F6D2231618102FDB7FE55FF1991700
Test: Encrypt
Plaintext: CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7
Key: 8395FCF1E95BEBD697BD010BC766AAC3
IV: 22E7ADD93CFC6393C57EC0B3C17D6B44
Header: 126735FCC320D25A
Ciphertext: CB8920F87A6C75CFF39627B56E3ED197C552D295A7CFC46AFC253B4652B1AF3795B124AB6E
Test: Encrypt
Plaintext: CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7
Key: 8395FCF1E95BEBD697BD010BC766AAC3
IV: 22E7ADD93CFC6393C57EC0B3C17D6B44
Header: 126735FCC320D25A
Ciphertext: CB8920F87A6C75CFF39627B56E3ED197C552D295A7CFC46AFC253B4652B1AF3795B124AB6E
Test: Encrypt
Plaintext: CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7
Key: 8395FCF1E95BEBD697BD010BC766AAC3
IV: 22E7ADD93CFC6393C57EC0B3C17D6B44
Header: 126735FCC320D25A
Ciphertext: 0B8920F87A6C75CFF39627B56E3ED197C552D295A7CFC46AFC253B4652B1AF3795B124AB6E
Test: NotVerify

View File

@ -0,0 +1,93 @@
AlgorithmType: Signature
Name: ESIGN/EMSA5-MGF1(SHA-1)
Source: Crypto++ 5.0 test vectors, generated by Wei Dai
Comment: 1536-bit key
KeyFormat: DER
PrivateKey: \
3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD\
52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D\
64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D411\
6CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1\
F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB\
020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA\
337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A42\
5AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83\
A7143A775073F0A1D69B6D0B5817755673
PublicKey: \
3081C70281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52\
D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64\
CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116C\
E5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F9\
3193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB02\
0120
Test: KeyPairValidAndConsistent
Message: "test"
Signature: \
A3E32065DEDAE7EC05C1BFCD25797D99CDD5739D9DF3A4AA9AA45AC8233D0D37FEBC763FF184F659\
14914F0C341BAE9A5C2E2E38087877CBDC3C7EA034445B0F67D9352A79471A523771DB1267C1B6C6\
6673B3402ED6F21A840AB67B0FEB8B88AB33DDE4832190632D512AB16FABA75CFD7799F2E1EF671A\
7402370EED0A06ADF41565B8E1D145AE3919B4FF5DF1457BE0FE72ED11928F61414F0200F2766F7C\
79A2E552205D975EFE39AE2110FB35F480814113DDE85FCA1E4FF89BB268FB28
Test: Verify
Message: "test1"
Test: NotVerify
AlgorithmType: Signature
Name: ESIGN/EMSA5-MGF1(SHA-1)
Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \
ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.1-3 ( 1152 bits )
KeyFormat: Component
Prime1: ec8b4bdc9a56ae7b60619814ec45d617246063b5aac39c286f7c82ec2824c245001b678217a7cf178979c7270eb510db
Prime2: e7b1c3ae3494d0ac7b6868a53a5fe3ba19471437c54b25699e8c348a003e5e1d4c6d244d4f6a78f260c98fc54795a6a3
Modulus: c5d0b8fac0cc6acc9d52c61200b541f7b4f8ff9f1bda97e0ebf78a3df768ba70ade59306d6ae65655bff7c6a94518c91e43dc0003b6f8730acc244799bdacb1e5070c6ea3089ea83bd5ef0a533adf3d9d63c0e88ce74545cfb21213fc33813fd913c6a6cf84b5adabc7d74751e9945521ac76a790bba95ad48d9d3fb2fbc4b0ed2ddee7d5ea6aa61633eccdac6381fab
PublicExponent: 0400
Test: KeyPairValidAndConsistent
Message: 86f28c1cb5e640548309b85dc6e64c1a
Signature: 348dc9a0943b1e2ba7ef501cbe970a023b37ca4019b9a5cb35ffc3bcdb28dcbd4193d7817d418bbaf291d97a1eeb918a03ee65caa7ad26c24f9ef807c8798ade5b70d7328cd36ac0844bf63f511bb63067e8236d084cf8af68e88155ea94b978aab6bd0339c55d976434423fc779d549779e81f528d028c7343e060544410e528814fb0874417d1eedf38d6db4b97dd6
Test: Verify
Message: 2fd87bfa6c8a965c9e1aaa8e3574202b
Signature: 561ad8bd11270c71f00af0e0cf256d858c757e8b55b9c4d6fb6bf71598ab59352992656348c1ff1ccda14fb7c5c3b53be49727c07422b78ffc380eeb03be7bdf07b279337af8a1eb7c5bdb725b33a82926b6afb7a1fff0750cc2532c6f96e28d7f1e621cf222b42bb850312f1a5fb7d99acd1c6f6d2347a121dd478374d6a40a7b0cd42e430f01b926135fc8d850366a
Test: Verify
Message: 888330ef1dc1588d578badde35c98d1e
Signature: 915d64d7b9b811fe8b58eaff4c2bf9ce2ad886eef95b28093f8c21f4ca950fdb2f6e77f97d0f2f8158445347f5b3ce33e082f3b5204522e15614d1891078d9557796726b5555cbd8d5489638ecf4738257dea70175fe27de54b1f45c0a96c229bd59260bebfb241e8eacb8a1a23b9a9a79b6d1f52cfed8cca2f1968e37d76c435ad1acd44131ef2c5f5e4ea8a33aee4e
Test: Verify
AlgorithmType: Signature
Name: ESIGN/EMSA5-MGF1(SHA-1)
Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \
ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.4-6 ( 1152 bits )
KeyFormat: Component
Prime1: d64dac2fb3506111bbac11a04e138d2d6f32df119f2f259065cf5785a46aaf404ad887f0a310b36be4a3a1a33c8a054f
Prime2: d1158628ed1e0695c02a821ab8590f59fc1a3fb1e19ee192ab789e9d963766d78f55cfef9bf58c0c774a32d8a8943955
Modulus: 92855120174c4a115bf525fa1f2ebf68d8328162149a5a6751b2512584eab7e5582d38d0e5029e01ece85a484030bb884a29121d8924f0195b22842b16436cd36c33bbe843e1cf7a585e89894b14595641d081a3077d667096df251bd93c86ebd94e0d555601794fa66fa2bcea920287c19922bed486a4f631390d1e36cc3635b509cb14c44d50313919a6cbb75eff35
PublicExponent: 0400
Test: KeyPairValidAndConsistent
Message: 16a3632339c463e243a4909f8a3810a8
Signature: 7d8790ee852a4f3ba8bb3fa0f6fc30c29b6bc2bc538195826544138dcb92500122148ac2cf0dc77dd37182c2267a73317ce5b2ae26db79204abe0e10c7212ba8de99fdc5cf498f7ee689588541fb78291afb9b65242f725a4aa32b119957b4314a58b4239a0235b9b1a8a6efbaa3601961d4b0730a6d9e5659f20105931d473daf3d378b39b7f3f01516d72ade9ef68a
Test: Verify
Message: ef8bcad6c164a86b0e0a3c011d556744
Signature: 6ce6024f64a7f04a0fe29b65cf2ec2ac49d9f90078a77db8bc260d3cfef233165a90b29d5787218b4d05a0e9321f2e802a8ed6d1a4201feb982a5d06bef051d60436d8c61a249432e662e625806526075f02b60d198142b96b67a4ac31d0071a1f971dae5a6a1b6db177591edfe80f7e51c7335441490f05f214b5a1aec94de572e3ec11ef4bebeb42f27037d38a186f
Test: Verify
Message: 29023889c79230c1c479820c5ff2e006
Signature: 85f0b648ee0f6d30a18666e2da8bcda319ede91ca18e018548e2a1c21b0e0049b91528eba4da3be4551b26c4e59e6aba25312874f2320eaf7c94c541e17fb16fb0d9d9928ea526b0fc0c0fb2d12e425a5917e4039a5366585327bc3456107ff31c889c5e04259457dfe65952dc43cd35f4ca689272769096b9583bbffad4a057673f938fa7192bbca44598cf5600e3eb
Test: Verify
AlgorithmType: Signature
Name: ESIGN/EMSA5-MGF1(SHA-1)
Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \
ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.7-9 ( 1152 bits )
KeyFormat: Component
Prime1: fd5708b30e8ee342bacaeb01c0d3baa91a833dacff2878c7df62e04a65afe770acdcefeaf8a72a5809387e5ed97756ef
Prime2: fa335563d5da151e3ab025f3b77d3f1eaf4a0d431012e79b12ca8ec433d347bd9a2b5179f2ed332a19ea2cad694c97dd
Modulus: f5072ba25e7df2c0e0a0abde031dda9534a493396ab895e6132abc90f993535ce55d6395e1fd548371228decc1cfefa9737344243ddb1eccbbc22d68571617afb23638c3f0222a84b0a8c9889ab934aa84cc92e14d972670db6d2105bbd0212c1843ff0ccbae19535ac01cf02ad98aa941fce32fac874cea7f1f83969fbaf025fb562a087efb4652210d45279312da7d
PublicExponent: 0400
Test: KeyPairValidAndConsistent
Message: abbf5c71245af5d272e627ec845e9ed4
Signature: b75e2869c052df20d6c008dd911a5bd752d5a23ee42ae47def37f76f6b2d5f04eb8d9b0783c502e0abd30bc567a6672292c3a6736fe8d4034fad857456cd599259d09f42f1d4c64d244fd149f6316f0b763be0de4f9da7f9649a76b984fe2ae99293d406904a9df59d28cc8a58b7ad0029657a47ac0e28d6353287df1ea8feef2fbb65d86425e80487420c1c9c1bda7e
Test: Verify
Message: cf2c943bc4c23175b43ba128c75339d1
Signature: 64616eb627bf49c2a5a183479a66b7dae12cd1a0982baa0cc12329f594196b9de47909e6b5cf4653bfccdeeb5478fd88c31c197c9adc335a84ec58664ce5fc55c7b2f17b0f32ffac4ff3f3b4ddb3ce125ab7e43efc0be6ae8357895ab5f118a4ec71b57cc1b252373fecd4a1f404ed295f2d97868e3737fdd6fdf124bc2f1e083b57d5c237db775d429d08d5b5ced857
Test: Verify
Message: 4d011f09f665d5f4a12595900e3827ec
Signature: 1911d3df18bdd9907b69ce6b655086c952c92d826bbef199fb1e0dcb7209a1b28d0a03beabc9e7d8df052febe26f691ff808caaac697c3005d524f3da8c700bf620aa37fd0793b3f22c6a488d733336d040642e0767755391951a754a1111345b912b4c0228ab154eb4baac0383a54023bd7c7ea2ed4bb894444b80d7e5f18407f51c3af858b9fa9198190b4b540fce8
Test: Verify

View File

@ -0,0 +1,168 @@
AlgorithmType: AuthenticatedSymmetricCipher
Name: AES/GCM
Source: aes-modes-src-07-10-08/Testvals/gcm.1, Basic Tests for GCM (compiled by B. R. Gladman)
Key: 00000000000000000000000000000000
IV: 000000000000000000000000
MAC: 00000000000000000000000000000000
Test: NotVerify
Key: 00000000000000000000000000000000
IV: 000000000000000000000000
MAC: 58e2fccefa7e3061367f1d57a4e7455a
Test: Encrypt
Key: 00000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: 0388dace60b6a392f328c2b971b2fe78
MAC: ab6e47d42cec13bdf53a67b21257bddf
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbaddecaf888
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
Ciphertext: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e 21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985
MAC: 4d5c2af327cd64a62cf35abd2ba6fab4
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbaddecaf888
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e 21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091
MAC: 5bc94fbc3221a5db94fae95ae7121a47
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbad
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c7423 73806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598
MAC: 3612d2e79e3b0785561be14aaca2fccb
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308
IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca7 01e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5
MAC: 619cc5aefffe0bfa462af43c1699d050
Test: Encrypt
Header:
Plaintext:
Ciphertext:
Key: 000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
MAC: cd33b28ac773f74ba00ed1f312572435
Test: Encrypt
Key: 000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: 98e7247c07f0fe411c267e4384b0f600
MAC: 2ff58d80033927ab8ef4d4587514f0fb
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c
IV: cafebabefacedbaddecaf888
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
Ciphertext: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c 7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256
MAC: 9924a7c8587336bfb118024db8674a14
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c
IV: cafebabefacedbaddecaf888
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c 7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710
MAC: 2519498e80f1478f37ba55bd6d27618c
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c
IV: cafebabefacedbad
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057 fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7
MAC: 65dcc57fcf623a24094fcca40d3533f8
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c
IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e45 81e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b
MAC: dcf566ff291c25bbb8568fc3d376a6d9
Test: Encrypt
Header:
Plaintext:
Ciphertext:
Key: 0000000000000000000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
MAC: 530f8afbc74536b9a963b4f1c4cb738b
Test: Encrypt
Key: 0000000000000000000000000000000000000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: cea7403d4d606b6e074ec5d3baf39d18
MAC: d0d1c8a799996bf0265b98b5d48ab919
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbaddecaf888
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
Ciphertext: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa 8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad
MAC: b094dac5d93471bdec1a502270e3cc6c
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbaddecaf888
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa 8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662
MAC: 76fc6ece0f4e1768cddf8853bb2d551b
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV: cafebabefacedbad
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0 feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f
MAC: 3a337dbf46a792c45e454913fe2ea8f2
Test: Encrypt
Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
Header: feedfacedeadbeeffeedfacedeadbeefabaddad2
Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
Ciphertext: 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf4 0fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f
MAC: a44a8266ee1c8eb0c8b5d4cf5ae9f19a
Test: Encrypt
Header:
Plaintext:
Ciphertext:
Key: 00000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f 707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f 909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
Ciphertext: 0389d8cd64b3a595fb21c8b27dbff077 e784b8b85d5e4f34efe493e48896dfff 002333026a56b2fd08a09c87fcbe85cf f97c902a25bb1f4a43478687f5feb6cd ca9f3fc6ecab732627386ee2996a4cde c5e91f48c293c6a87774b950aeb1d7bf 62321a0d76006297b2d06623cf6e4fb1 433494c3326b0ae914120085a195413f 5e3278e4107d7b08dd2107405610e67d 83ed5b5ba0b591e9e46b1029f5f6936f fdb0e788fc09f60d861a0b3e1ab6294a 76ebdf6663421ef7dd6c1bc448dfcdb7 a0c38bae72fa627ed327f2b46fcec25a 77ee5fd7e3354788643c0d7df15075d5
MAC: 6b385f3012eafda4189da7ad3b6eafbf
Test: Encrypt
Key: 00000000000000000000000000000000
IV: 000000000000000000000000
Plaintext: 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f 707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f 909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
Ciphertext: 0389d8cd64b3a595fb21c8b27dbff077 e784b8b85d5e4f34efe493e48896dfff 002333026a56b2fd08a09c87fcbe85cf f97c902a25bb1f4a43478687f5feb6cd ca9f3fc6ecab732627386ee2996a4cde c5e91f48c293c6a87774b950aeb1d7bf 62321a0d76006297b2d06623cf6e4fb1 433494c3326b0ae914120085a195413f 5e3278e4107d7b08dd2107405610e67d 83ed5b5ba0b591e9e46b1029f5f6936f fdb0e788fc09f60d861a0b3e1ab6294a 76ebdf6663421ef7dd6c1bc448dfcdb7 a0c38bae72fa627ed327f2b46fcec25a 77ee5fd7e3354788643c0d7df15075d5
MAC: 6b385f3012eafda4189da7ad3b6eafbf
Test: Encrypt
AlgorithmType: AuthenticatedSymmetricCipher
Name: AES/GCM
Source: Generated by Crypto++ 5.6.1
Comment: long test vector with odd length
IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
Key: 2b7e151628aed2a6abf7158809cf4f3c
Ciphertext: BD70C168B0D4371B0A85B4B5D65D92569B17 \
F9A3D0A25B9F608E2C34621CF4D37357845431E04E585CDAAD7527BF8A2426DEEF451320C78D5EF0 \
9F5B11A8B8C700CD329A3D4CDED92C20F6BF28CB3627681C5B0AF2B5692CC7EC9049008ACBBD127A \
9CD8DEF00425697E0BCF67E05AEE70EA1A5D7EE95E3B88FBAF3C196AAAECB73E09BDF057AF701A02 \
42394BCC104FF4F75F15D287325FCFFDB7E7FF3A939A80A6A3A9D7570E6EF6AD0BBE6E291338938D \
2FEBBC7D5EE95CD73E752ACD48915DCAE0A0807E6F4B2ADADBD945667318264EF7D8C2ECC0B8FB67 \
A43614C5F5EA51CADD4AEE91DC371A7FC5A3B4581D1D9DD99608CD2BB0338F82933C19F5B8EBAD6B \
BA583835FBD29136302BAC163F86CA9E3E6F3B5BFDEFAB3E4B019190AE2EBC0B71034EA9BF882879 \
139FFE76DD997F6729425F3D5C5392762C245769D18CC963C92211B71F564203AFBF68626C083303 \
1D449B02DFA5C0F09FAFCE951FE35F4AD8122AB682A4AF28931113F75615E12DB05DD9247973F1C6 \
057666848C13EDE41192F38948366D468D84CAF896EFF724082D2BAB2376E2813B41A014999B0EE7 \
377758715D9554926AB3514EEB96A0ABD501D94A05692D858190D5AD307CEB6E6C8A63841A8257BE \
C2527C4B937840AA51292E15834AB801F0275A6A4B1B6E969B7A7FCE217D6F823CDE1760F847E8F4 \
6CBDE152A24F2319EC2A7089D2954259D30332089FF928034391D1B0B8AFD7C8A5D4F8E0DAB5883C \
A7D581F78E4848DC3B01E5F2A5C01BA8910D0F144BC494E29450271174B866868EE8DC6B0DD396ED \
9D72F83DE3BB6DE6FEBC64178961E011D0D746C2CE3A0FBD05CDF8FA79AC03E94C88368BD903E142 \
7FCFC30C9D100E220B4CB9B7BA242DA49D334E930B6C4EB877D1DF2C0F8CF4AF7813E2F295929707 \
19846FC52A47FCE6E71DC5E58FC5F49C91BDE56B7A2A68CFA994D6BFA5357A8403A2B37C69A6A0A4 \
35E4AB4C9E450473AF0CDFDBCC238A2DD7
MAC: 4FEA89D75727E82B3A9F9EEB5E217A3E
Test: Encrypt

View File

@ -0,0 +1,175 @@
AlgorithmType: KDF
Name: HKDF(SHA-1)
Source: RFC 5689
Comment: Test Case 4
Key: 0x0b0b0b0b0b0b0b0b0b0b0b
Salt: 0x000102030405060708090a0b0c
Info: 0xf0f1f2f3f4f5f6f7f8f9
DerivedKeyLength: 42
DerivedKey: 0x085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-1)
Source: RFC 5689
Comment: Test Case 5
Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f
Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
DerivedKeyLength: 82
DerivedKey: 0x0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-1)
Source: RFC 5689
Comment: Test Case 6
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0x0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-1)
Source: RFC 5689
Comment: Test Case 7
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0x2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-256)
Source: RFC 5689
Comment: Test Case 1
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: 0x000102030405060708090a0b0c
Info: 0xf0f1f2f3f4f5f6f7f8f9
DerivedKeyLength: 42
DerivedKey: 0x3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-256)
Source: RFC 5689
Comment: Test Case 2
Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f
Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
DerivedKeyLength: 82
DerivedKey: 0xb11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-256)
Source: RFC 5689
Comment: Test Case 3
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0x8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-512)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 8 (Mirror Tests 1 and 4)
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: 0x000102030405060708090a0b0c
Info: 0xf0f1f2f3f4f5f6f7f8f9
DerivedKeyLength: 42
DerivedKey: 0x832390086CDA71FB47625BB5CEB168E4C8E26A1A16ED34D9FC7FE92C1481579338DA362CB8D9F925D7CB
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-512)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 9 (Mirror Tests 2 and 5)
Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f
Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
DerivedKeyLength: 82
DerivedKey: 0xCE6C97192805B346E6161E821ED165673B84F400A2B514B2FE23D84CD189DDF1B695B48CBD1C8388441137B3CE28F16AA64BA33BA466B24DF6CFCB021ECFF235F6A2056CE3AF1DE44D572097A8505D9E7A93
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-512)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 10 (Mirror Test 3 and 6)
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0xF5FA02B18298A72A8C23898A8703472C6EB179DC204C03425C970E3B164BF90FFF22D04836D0E2343BAC
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-512)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 11
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Salt: ""
Info:
DerivedKeyLength: 42
DerivedKey: 0x1407D46013D98BC6DECEFCFEE55F0F90B0C7F63D68EB1A80EAF07E953CFC0A3A5240A155D6E4DAA965BB
Test: Verify
AlgorithmType: KDF
Name: HKDF(SHA-512)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 12 (Mirror Tests 3 and 6)
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0xF5FA02B18298A72A8C23898A8703472C6EB179DC204C03425C970E3B164BF90FFF22D04836D0E2343BAC
Test: Verify
AlgorithmType: KDF
Name: HKDF(Whirlpool)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 13 (Mirror Tests 1 and 4)
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: 0x000102030405060708090a0b0c
Info: 0xf0f1f2f3f4f5f6f7f8f9
DerivedKeyLength: 42
DerivedKey: 0x0D29F74CCD8640F44B0DD9638111C1B5766EFED752AF358109E2E7C9CD4A28EF2F90B2AD461FBA0744D4
Test: Verify
AlgorithmType: KDF
Name: HKDF(Whirlpool)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 14 (Mirror Tests 2 and 5)
Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f
Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
DerivedKeyLength: 82
DerivedKey: 0x4EBE4FE2DCCEC42661699500BE279A993FED90351E19373B3926FAA3A410700B2BBF77E254CF1451AE6068D64A0904D966F4FF25498445A501B88F50D21E3A68A890E09445DC5886DD00E7F4F7C58A512170
Test: Verify
AlgorithmType: KDF
Name: HKDF(Whirlpool)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 15 (Mirror Tests 3 and 6)
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt: ""
Info: ""
DerivedKeyLength: 42
DerivedKey: 0x110632D0F7AEFAC31771FC66C22BB3462614B81E4B04BA7F2B662E0BD694F56458615F9A9CB56C57ECF2
Test: Verify
AlgorithmType: KDF
Name: HKDF(Whirlpool)
Source: Generated by Crypto++ 5.6.3
Comment: Test Case 16 (Mirror Test 7)
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Salt: r64 0x00
Info: ""
DerivedKeyLength: 42
DerivedKey: 0x4089286EBFB23DD8A02F0C9DAA35D538EB09CD0A8CBAB203F39083AA3E0BD313E6F91E64F21A187510B0
Test: Verify

View File

@ -0,0 +1,281 @@
AlgorithmType: MAC
Name: HMAC(MD5)
Source: RFC 2202
Comment: Test Case 1
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: 0x9294727a3638bb1c13f48ef8158bfc9d
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 0x750c783e6ab0b503eaa86e310a5db738
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 0x56be34521d144c88dbb8c733f0e8b3f6
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 0x697eaf0aca3a3aea3a75164746ffaa79
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 0x56461ef2342edc00f9bab995690efd4c
Test: Verify
MAC: 0x56461ef2342edc00f9bab995
#TruncatedSize: 12
Test: VerifyTruncated
Comment: Test Case 6
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd
Test: Verify
Comment: Test Case 7
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
MAC: 0x6f630fad67cda0ee1fb1f562db3aa53e
Test: Verify
AlgorithmType: MAC
Name: HMAC(SHA-1)
Source: RFC 2202
Comment: Test Case 1
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: 0xb617318655057264e28bc0b6fb378c8ef146be00
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 0x125d7342b9ac11cd91a39af48aa17b4f63f175d3
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 0x4c1a03424b55e07fe7f27be1d58bb9324a9a5a04
Test: Verify
MAC: 0x4c1a03424b55e07fe7f27be1
#TruncatedSize: 12
Test: VerifyTruncated
Comment: Test Case 6
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112
Test: Verify
Comment: Test Case 7
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
MAC: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91
Test: Verify
AlgorithmType: MAC
Name: HMAC(RIPEMD-160)
Source: RFC 2286
Comment: Test Case 1
Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 0xdda6c0213a485a9e24f4742064a7f033b43c4069
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 0xb0b105360de759960ab4f35298e116e295d8e7c1
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 0x7619693978f91d90539ae786500ff3d8e0518e39
Test: Verify
MAC: 0x7619693978f91d90539ae786
#TruncatedSize: 12
Test: VerifyTruncated
Comment: Test Case 6
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b
Test: Verify
Comment: Test Case 7
Key: r80 0xaa
Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
MAC: 0x69ea60798d71616cce5fd0871e23754cd75d5a0a
Test: Verify
AlgorithmType: MAC
Name: HMAC(SHA-224)
Source: RFC 4231
Comment: Test Case 1
Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: 0x896fb1128abbdf196832107cd49df33f47b4b1169912ba4f53684b22
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 0xa30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 0x7fb3cb3588c6c1f6ffa9694d7d6ad2649365b0c1f65d69d1ec8333ea
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 0x6c11506874013cac6a2abc1bb382627cec6a90d86efc012de7afec5a
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 0x0e2aea68a90c8d37c988bcdb9fca6fa8
Test: VerifyTruncated
Comment: Test Case 6
Key: r131 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 0x95e9a0db962095adaebe9b2d6f0dbce2d499f112f2d2b7273fa6870e
Test: Verify
Comment: Test Case 7
Key: r131 0xaa
Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.")
MAC: 0x3a854166ac5d9f023f54d517d0b39dbd946770db9c2b95c9f6f565d1
Test: Verify
AlgorithmType: MAC
Name: HMAC(SHA-256)
Source: RFC 4231
Comment: Test Case 1
Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: a3b6167473100ee06e0c796c2955552b
Test: VerifyTruncated
Comment: Test Case 6
Key: r131 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54
Test: Verify
Comment: Test Case 7
Key: r131 0xaa
Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.")
MAC: 9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2
Test: Verify
AlgorithmType: MAC
Name: HMAC(SHA-384)
Source: RFC 4231
Comment: Test Case 1
Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: 88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: 3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffb
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 3abf34c3503b2a23a46efc619baef897
Test: VerifyTruncated
Comment: Test Case 6
Key: r131 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952
Test: Verify
Comment: Test Case 7
Key: r131 0xaa
Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.")
MAC: 6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523e
Test: Verify
AlgorithmType: MAC
Name: HMAC(SHA-512)
Source: RFC 4231
Comment: Test Case 1
Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Message: "Hi There"
MAC: 87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854
Test: Verify
Comment: Test Case 2
Key: "Jefe"
Message: "what do ya want for nothing?"
MAC: 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737
Test: Verify
Comment: Test Case 3
Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Message: r50 0xdd
MAC: fa73b0089d56a284efb0f0756c890be9b1b5dbdd8ee81a3655f83e33b2279d39bf3e848279a722c806b485a47e67c807b946a337bee8942674278859e13292fb
Test: Verify
Comment: Test Case 4
Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
Message: r50 0xcd
MAC: b0ba465637458c6990e5a8c5f61d4af7e576d97ff94b872de76f8050361ee3dba91ca5c11aa25eb4d679275cc5788063a5f19741120c4f2de2adebeb10a298dd
Test: Verify
Comment: Test Case 5
Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
Message: "Test With Truncation"
MAC: 415fad6271580a531d4179bc891d87a6
Test: VerifyTruncated
Comment: Test Case 6
Key: r131 0xaa
Message: "Test Using Larger Than Block-Size Key - Hash Key First"
MAC: 80b24263c7c1a3ebb71493c1dd7be8b49b46d1f41b4aeec1121b013783f8f3526b56d037e05f2598bd0fd2215d6a1e5295e64f73f63f0aec8b915a985d786598
Test: Verify
Comment: Test Case 7
Key: r131 0xaa
Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.")
MAC: e37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58
Test: Verify

View File

@ -0,0 +1,66 @@
AlgorithmType: SymmetricCipher
Name: MARS/ECB
Key: 80000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: B3E2AD5608AC1B6733A7CB4FDF8F9952
Test: Encrypt
Key: 00000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: DCC07B8DFB0738D6E30A22DFCF27E886
Test: Encrypt
Key: 00000000000000000000000000000000
Plaintext: DCC07B8DFB0738D6E30A22DFCF27E886
Ciphertext: 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF
Test: Encrypt
Key: CB14A1776ABBC1CDAFE7243DEF2CEA02
Plaintext: F94512A9B42D034EC4792204D708A69B
Ciphertext: 225DA2CB64B73F79069F21A5E3CB8522
Test: Encrypt
Key: 86EDF4DA31824CABEF6A4637C40B0BAB
Plaintext: 4DF955AD5B398D66408D620A2B27E1A9
Ciphertext: A4B737340AE6D2CAFD930BA97D86129F
Test: Encrypt
Key: 000000000000000000000000000000000000000000000000
Plaintext: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Ciphertext: 97778747D60E425C2B4202599DB856FB
Test: Encrypt
Key: D158860838874D9500000000000000000000000000000000
Plaintext: 93A953A82C10411DD158860838874D95
Ciphertext: 4FA0E5F64893131712F01408D233E9F7
Test: Encrypt
Key: 791739A58B04581A93A953A82C10411DD158860838874D95
Plaintext: 6761C42D3E6142D2A84FBFADB383158F
Ciphertext: F706BC0FD97E28B6F1AF4E17D8755FFF
Test: Encrypt
Key: 0000000000000000000000000000000000000000000000000000000000000000
Plaintext: 62E45B4CF3477F1DD65063729D9ABA8F
Ciphertext: 0F4B897EA014D21FBC20F1054A42F719
Test: Encrypt
Key: FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227
Plaintext: 1344ABA4D3C44708A8A72116D4F49384
Ciphertext: 458335D95EA42A9F4DCCD41AECC2390D
Test: Encrypt
Key: 00000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: 3FE24DC09173D15F4616A849D396F7E3
Test: EncryptionMCT
Key: 00000000000000000000000000000000
Plaintext: 24BD3D2FC6FEE152D1D64545E2230584
Ciphertext: 00000000000000000000000000000000
Test: DecryptionMCT
Key: 000000000000000000000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: 34EC834E2F30741ECB476DA7E9662BBD
Test: EncryptionMCT
Key: 000000000000000000000000000000000000000000000000
Plaintext: 7F27C3397A8CEEF1BDF859459690FEA8
Ciphertext: 00000000000000000000000000000000
Test: DecryptionMCT
Key: 0000000000000000000000000000000000000000000000000000000000000000
Plaintext: 00000000000000000000000000000000
Ciphertext: EDE145C10E279501D921C5E3B04420A6
Test: EncryptionMCT
Key: 0000000000000000000000000000000000000000000000000000000000000000
Plaintext: 95615ADB0DDF6613A5E84F849AC8C00D
Ciphertext: 00000000000000000000000000000000
Test: DecryptionMCT

View File

@ -0,0 +1,615 @@
AlgorithmType: Signature
Name: NR(1363)/EMSA1(SHA-1)
Source: generated by Wei Dai using Crypto++ 5.0
Comment: 1024-bit NR key
KeyFormat: Component
SubgroupOrder: \
09b2940496d6d9a43bb7ec642c57b302e59b3a5155
SubgroupGenerator: \
a1c379ba91fe1f9d5283807b809c698bce4aee6f405f4de8c46becf33c08a63b\
c5f8088f75b5b6bcfb0847ccbdee700e4e698652317bbd7a3056404c541136d7\
332c2b835ef0d1508ef57b437de60675f20f75df0483f242ddeb57efacd18041\
8790f4dec0a8250593ba36f17316580d50db1383ea93a21247650a2e04af904d
Modulus: \
bd670f79b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f\
6564e43a559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36eff\
ae2f7823227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36\
f96c6b81fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b
PrivateExponent: \
0355dc884345c08fb399b23b161831e94dbe61571e
PublicElement: \
255cf6b0a33f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d8\
23f0e6aaaa41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9\
c44ab7367f77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b\
88b46860d9c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198
Test: KeyPairValidAndConsistent
Message: 66B92E1E2C44B80F7BFA
Signature: \
06e7586b76d5a8270155cce2d3ff4495237eed29a101eb1341fce0b43d95397b\
053d93772b0a9cf3117b
Test: Verify
Message: 973266BB0A492248082A
Signature: \
02de44ed2233f0f11dcf567217d2089ec039a211bf000d42e04900a66ce45c58\
526a97d7f4cfba29e43d
Test: Verify
Message: 9A6D079ED0CA9D8B40E8
Signature: \
04f59dbb2712926b3bc1d3c428f16203f3443f88db0669adda94dcb54e1fff71\
fb51bb603e7adff13f84
Test: Verify
Message: AA34DCE67BCDAC927DA6
Signature: \
08ad21bf9d0cc598a214329d3544685d39487988bb01aced68ad0a4831affbff\
3b14df6c0f4ac4d2e967
Test: Verify
Message: 4EDAC08816AFDBF284DA
Signature: \
09a9d5aa9bd1b6b61fe8825128c8e52a6213692b2504c8c6951299b5ca51b03d\
ea0a5e56f9a7c4cd44f7
Test: Verify
Message: D82F2E903230962B8174
Signature: \
0441c8d089e690a7fab391de07073326d443a0d9d806a3997ac1641175310890\
1e55582a582541330539
Test: Verify
Comment: 1025-bit NR key
KeyFormat: Component
SubgroupOrder: \
0b3949dadf3196f08bca0606f06443afce2fb1d02f
SubgroupGenerator: \
015f0f6d1729ef2af723c00e36450a04c7e7681d65b74a6417a53b3eb6036989\
eff8e0ab11a7ec3ce2340b7c7a92e1a977aee52555c06c12c4cc28496ddc2598\
feeb7539ce90d3888e21f61d7f14746cf67d9fed373afd97e2483700e300ed9d\
a25e7200b363a4727ad201194b36ea5f816cf83488c3e527d3a5515870d2da63\
d6
Modulus: \
017310bf02d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd\
553bc9368ddb154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4\
a9c56c286305aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a\
1172350ad2f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fc\
f1
PrivateExponent: \
0696b0f255468b7ac18e11632f208ca86383a46724
PublicElement: \
45bf83e62f50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206\
e326819c5082d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7\
876a76ab0a09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b31\
3463aa154e6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c
Test: KeyPairValidAndConsistent
Message: 2F585D0CE4FA1CD93880
Signature: \
06586d8a703cdc27200d5261853f50effa8ebbdfc905f5becb68b81eca506992\
50fb54e46d557c6095dd
Test: Verify
Message: 4F09A1F217B8393199EE
Signature: \
0622cd33b1d715829d8fae104759ed449f95becb5e03d36f5578fd6a2951d2e6\
26cfce85ba6563990d64
Test: Verify
Message: 03D7110A753B008A76A0
Signature: \
02925630b4c80e604fc1d8680bfd0e3d878e22b3a30ab8b10da7fc38816a8c5f\
1e06927c68f9d3db60d9
Test: Verify
Message: 129F4781D417671F886D
Signature: \
016c2c4ce845b4d412828cbb8a396d080c7eb93bcb01f7010410198c8bac96df\
8ab8761cebdb7d87f3a2
Test: Verify
Message: 3E1594F559D1248D1112
Signature: \
080bab68c62be86ab2c1bfd0edf10387a7cd66b69f054e254218e01f650e4e8c\
6bfa10054e367893e59e
Test: Verify
Message: D6F0354F1B6B253B6997
Signature: \
08755c7e8012e8160db75c6160686351e5c577207f01602b4dda2fa56b864374\
703c83bb323c7bb34f5f
Test: Verify
Comment: 1026-bit NR key
KeyFormat: Component
SubgroupOrder: \
36bb68cd95dab195f14c4534283e7ea50b00cc31a3
SubgroupGenerator: \
e2782ad6992f4b7e88787b4d616744b60e095575a177569c4a069e311e38b724\
0c43343367e23574c30e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b\
092b86c8ec1f9d4795d6e91c88ba41297625c11a9e1f4f182da13cf51e541038\
a1266bf32b2dd81ecd84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f
Modulus: \
025098828217d00108030801e5f135fc6fd3010be39e49060a96addc8a081198\
803402c4b46e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791\
d02d8143e274b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025\
c918484478d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc\
17
PrivateExponent: \
2db270c284328353f979cad99f4133c53acaa6ee71
PublicElement: \
0179b283f67868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9\
fb029c0ccb2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e8\
9965a7785d5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a60\
6fe671ea073ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004\
d8
Test: KeyPairValidAndConsistent
Message: 7E4F2ED4E79062778A2D
Signature: \
03f523873462ee1513833e2853c3b62e30c5c1cc3224f1a42dc154fa84ecce04\
487069530d76e0574a38
Test: Verify
Message: A0E35846B5CF1B5BF560
Signature: \
2264285d75a55c431a7adb9347bc07d58efbeb1dd9354d01b0b86f2875f8dec0\
294d20289d39369c5afa
Test: Verify
Message: 3B138785EFC6F520EAE0
Signature: \
116e45961ca73f3ccf08b35f94877fef88772cf0fa2ab196c85a91104d8fbde6\
65b7032b2fb4011a88cc
Test: Verify
Message: 0F6BE2AA764B485145D4
Signature: \
027ad753bde13c7f2fcd7571e5558f8af756cdb9463237fb0e285cb633cc86be\
1b410188d701f6ca83c6
Test: Verify
Message: 6CD9FBD23EA58826FB04
Signature: \
1651decd376899104e3fdbe40ab2d9bfd3c8577f3b092b66e3760678ecb3fc35\
23a59107e0bdccb76a73
Test: Verify
Message: 473A82649565109E9E89
Signature: \
2045ef56d92f89a214d76cca6b591068ac5f0d008c121ec4e5c4c1e8ca9b67cd\
bb5ecc776a23b6d54ba5
Test: Verify
Comment: 1027-bit NR key
KeyFormat: Component
SubgroupOrder: \
291d0ba731a4303070504d8b9615640a5e1345e00f
SubgroupGenerator: \
051c9d0270b69ceef82af5aed5f91dc88d585096609d835d03d39cf3ce74f5a3\
402d4e8e192455493da61cc58ee6f54dd941172be3d7642169cbc52273f4b725\
f1d6c820c3333336c64d32fb6238121b3ccb7c71b847764946bb0887a44ca9de\
802cda62efa9dda573751084225353f11ed837f3dc25de8374b6fdbfb6e313e4\
6d
Modulus: \
055402a8abe9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a64\
59151cefeef91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d7\
4c4552817df7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e2\
3fb5572a75f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b\
2d
PrivateExponent: \
13b27094d9a5a3a9704cebdbe890da325fa26ad555
PublicElement: \
03b06b99097cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18\
cad6a454c3f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47f\
b0bb626baafc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c\
42558ae4637eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5\
c3
Test: KeyPairValidAndConsistent
Message: AE6DCD9535AEEE3ECC89
Signature: \
1c6794878aabf07cf9f59b685d4a3a6e51c9135dc101a4a6a62c95a20902e2fa\
23db7d15293f595f86ab
Test: Verify
Message: C83A14EAC016D659F9FE
Signature: \
18ed4812925dca6a9c30e2e3566433e202be2d305414e1e6583905ad845cbc63\
2049804932aac79b858c
Test: Verify
Message: 745E02041EB487D16CE6
Signature: \
13d4ef1de59ef0fe9bc4ecc6d382908642f6f5793e255b819e25ed124f7fa574\
d91fc2e9b258f0514b15
Test: Verify
Message: 62F019655A83501FC4E7
Signature: \
07f797768984ecc792f366ece16f5102aec2aac6d31fdaf3972839cac2c99a2b\
f5b347c887d37943383c
Test: Verify
Message: 351D37A4B5046E885EAA
Signature: \
22064cd5179ff1551dbf73c5220e17a9dfa1aa8f7f22f44a6c70f13c6d0a21f8\
7e53278251037a6cdc5e
Test: Verify
Message: 4073D33915F595F4FF9D
Signature: \
1f902ea2c9521b8c7f11619d35dd22a4667e2eb89a017194bb68ec0a9df762c9\
377c1c075b5f09566048
Test: Verify
Comment: 1028-bit NR key
KeyFormat: Component
SubgroupOrder: \
2368e2b864b250ad45406391e7eeaa3d27cd053c2b
SubgroupGenerator: \
07c325695dfe315a77ad7b42f0d18f9d4821b5c153fee7385877602fa54477bb\
8c0639d2438f34352b97c22d02a7295d2b53d5286a01caa919d6283614690624\
240af922675ccd4a0534ec336cb79cde31b02b5988cc5a53ca17790d67d803a2\
7bb927b9c59bdc6ac794175e285cafdece6778ab19a0b444747fee20d5bf929e\
70
Modulus: \
0abdeff64b6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467\
c271bbb1e1fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3\
ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253\
f0f988c354725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d\
51
PrivateExponent: \
0771305163506b2b83bd5279935df1b5fcf180b004
PublicElement: \
043e4ae6244408879264fe6b859b578218705b9a45af22efded27141b7f090cb\
cbe42dcf481df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe27\
89e088b04489ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb\
6e1cef8e978c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f9\
18
Test: KeyPairValidAndConsistent
Message: 4867852C83F181CDD010
Signature: \
1db6a5661b20c9289428c3b9ebf65d5a8f757f3a3b1eb15dfaf0c8cefc891954\
b48279eb45910a141ec3
Test: Verify
Message: DA6493C86D6B62C5961C
Signature: \
1c05300a56319ba4a8ace1206f5f37b5bbefc9d80a171a57b6da3c02aa1f3079\
70583c008f073996d932
Test: Verify
Message: AE2C1136BFE966794A6C
Signature: \
02dfd79eb18f3a862b11a5d199a7db1dc53580ade90517a7739cbd8ab1849c44\
54ba17a69b8d03ecc4f9
Test: Verify
Message: B20160E0442E726BE749
Signature: \
14c0cf809174d39f1324b7dd0d6d1fb3be5b5577c10048b12def39772fa60cd5\
a9d2cca9075f12e5a3c1
Test: Verify
Message: 3638935C4492F5CA42F2
Signature: \
0081d7216636bc6fb9bc7a637a377ebf4f9048826e0360c8faf03dd28c4ee4a4\
da82689259f140b3d918
Test: Verify
Message: DFB674CA6E0FDC0CBE99
Signature: \
1e3e21aa3dcccddb8cf3e360631fc36956263951ff18fec553531252b4dbe753\
6ed5fc62897d51500c38
Test: Verify
Comment: 1029-bit NR key
KeyFormat: Component
SubgroupOrder: \
3357536531dec150be0ef8747f69ea30d987ff7df1
SubgroupGenerator: \
067dd80dbc6b41f58d08f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab\
0433b3aad6ef962501633d0f3947b491a1317e7e6b632f062c53104d609c9222\
b056f08a0c83662a70744331fd09b2b42fb0768e52da27e92732106fbd41ec73\
7373fd080b56b543d808d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af\
8a
Modulus: \
1d0f176b6799b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca\
8d978b93bb76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86\
185a72f04ff80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc\
344db7e5621c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38d\
d7
PrivateExponent: \
2dcdc00a86ecc2a60ebfa6660a83af1d7c3e570b85
PublicElement: \
13834f0fa1f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588\
d61db62e492f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9\
ef32780e8c453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f\
497bd90b06824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea06739\
02
Test: KeyPairValidAndConsistent
Message: 1E34034C47FE533F8FF5
Signature: \
05c110848feacc9ac762ffa14943f9ce9a111777de0502d9f364ad9b2df4e1a8\
17bc15a602579b3a6a25
Test: Verify
Message: 53D2CA23AF7DF95634F0
Signature: \
14009997efeb3fd246956e44b5b0e48581ac5f414613b41fe5842c85b031ab8a\
e68f66f8e1f1f9fc1d74
Test: Verify
Message: 0F056E08AE77B3B30F33
Signature: \
1beedf85b426d36a657f422ab9a9132986eaf415332816d33d70c726c3066158\
c6481fd00503ffb65518
Test: Verify
Message: F08C80E8FD38A3867B76
Signature: \
0a23b8d8f920cfb0dec93725e4972080445647c54227fb987dd9f80fab446c75\
1c2594276168aa68f318
Test: Verify
Message: 6D392690B92B3E75020F
Signature: \
18668f59c6974dad551a89bec5cacf0bf8617e8f43052eb97d7a1b12411b27b7\
4248b3d1f5070823e951
Test: Verify
Message: 10AE0E091A267641FACF
Signature: \
1b3d10f74fdaed3d4d61fedfa3f6ad3a37c0cf6687166a312d5b280724c3545d\
225e1fe0639cfb1113d6
Test: Verify
Comment: 1030-bit NR key
KeyFormat: Component
SubgroupOrder: \
27c7996c1d3729c4cf1de06529e5619771e27ad9eb
SubgroupGenerator: \
0d87a4b01385da7f43b6277933c5f0dc8072dcacd5252e1b29f588114a7ac56e\
377050aa8174b5dda400f043234e4a746442792734dc80274a00a3676101be94\
759fc2630b9a858966488b12611d03d0b31e7243e124497a754544cee1db10bb\
0a81cf0b2a68045b76fe935f641c666fdc788a2b968c6668c669115756b961d9\
fe
Modulus: \
2a32d68d31248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c26\
61d9165f0ab85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8\
ed3ee64b73aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515\
007ed1b1a5708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f5\
9f
PrivateExponent: \
091155581ecb7a0a792ba95c772d9382298bfdfa6f
PublicElement: \
0d7d22c931422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c\
68f6a3307ca34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad\
664546d14c87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2c\
ef5f084359566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498\
ad
Test: KeyPairValidAndConsistent
Message: 23EEE1D0EA8950B8F322
Signature: \
18fe1a5f61c4946810e82a1e30fb6c87ce4ad9cebb1ae27eebfa8779fe292b2a\
451be3506bb65519dfd0
Test: Verify
Message: 13FA6F2816FB83190A21
Signature: \
2161a5be85f7ffe806df00f4bd50915e4b0674e7591f1c0902153823f881bc7b\
3f093d92bf86b74b5b3e
Test: Verify
Message: D071CCC0C6E4CAE82E5A
Signature: \
059158b2cf143f38eb8c51088dd79bf45990e596c8026fa3de5e668368b9d8d7\
fe9ffdbdecf66aaf02bb
Test: Verify
Message: 22CE83F4803BF3EA2C48
Signature: \
073b56d72a5b706455cfdcbf85b75ee45c40e96dd21a5460542ade665e51a85c\
510315a50307c2bbdb2d
Test: Verify
Message: 7A927EC7BB9CA16C1B0A
Signature: \
254c7525aad9b4b3807b3900a963fbf42f9ff2144820ea69abe5ba2c80613510\
e1429ebc726fd0a87a4c
Test: Verify
Message: 9591B069993E10BC0B84
Signature: \
0ed4210e5e4f2f9546ea181c4a61d062a1158810071905b180dbf070b480f436\
0b1f66065ecf111741cf
Test: Verify
Comment: 1031-bit NR key
KeyFormat: Component
SubgroupOrder: \
26f86a81a6bb530c2f9b63e3690e95a0894575f445
SubgroupGenerator: \
1e24828adb4ebf2becdbdcadf6706631293ad6566803d12479f04a7bb20b6086\
fe81df164f8bd02c5f418c1140d143f11a71170b42d0753c952bfff951b9ca42\
04868375efaa4afad50b75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6\
098bd0002d789e1f7db9c19d9045499877b93ecb4e7c64808b742063bbecf60e\
29
Modulus: \
4d58515f7b41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c5921742\
2001a272ef91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d5278114\
0bba40600cbd4752d2c32b43253efee57af6964c339570edb24195502e6d424b\
84bed65ac98c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb\
93
PrivateExponent: \
0e61a054ee6510734a80f67a54d8c4151c957ef16f
PublicElement: \
19b50f1eea45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f60\
2506bc357245deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f\
286adb498d1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87\
664d80e5c97398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc\
07
Test: KeyPairValidAndConsistent
Message: B4B3C8FBE82013228A21
Signature: \
0e1003dd216194ded89f7d10b35a266ca7587d8cfb06a1fe3dd43f07dea4a6d6\
acaa1477f2552c9b3114
Test: Verify
Message: 17D2D18302173E2CE992
Signature: \
027b40cd9a159257a57efae3a657399a3b6d8b06f707ba3a323abc383a93f919\
1246c38c03b028be05df
Test: Verify
Message: 8032AE177D6DF38C7E27
Signature: \
1f5e3d759e3b832f5a6c57b055764ff5b8ad942dd819610ef94cfec296cd1b56\
4fd0b18bfa08c3645db3
Test: Verify
Message: 768640A60A3C62E02428
Signature: \
0abe2dfabc81ab677d2cbd781ef9768325a5d6d15a22f41b32972bd67058e617\
e28c7e0dfbaae535d655
Test: Verify
Message: B0999CA45B77ED63639D
Signature: \
1525539cd207d5f6f915eb2731b6451e38e11e0a031d7e420e0bb95d6616d8ef\
35d20eb43c111f8f9ca1
Test: Verify
Message: 587EDB968FA82C12C930
Signature: \
024ed20dc19a07e00158aa2fe9cb6353f0112b8fab0e6775667115e1c92e5eb4\
29876c12ed48e996f4f7
Test: Verify
Comment: 1032-bit NR key
KeyFormat: Component
SubgroupOrder: \
2e802b5369c3f1ddfa789bf8f2ad2e048ced3bf355
SubgroupGenerator: \
a9aebee7d29f90b081afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a\
56bb10a97e05a3a723e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076\
aeded938775ae2223900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf\
4643cf09f5375b60c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b\
4a
Modulus: \
d551680a62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833\
f4c19ac883ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e5\
14d4628b197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be52\
12e3180ea718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f\
09
PrivateExponent: \
0f66e04c5a75d3eac03d744e5432f23e3aea066a63
PublicElement: \
2640c188055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c1\
73c901370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237\
bccca56524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca0\
4d8cabcf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168\
b5
Test: KeyPairValidAndConsistent
Message: 909068BEFFA43331FDC7
Signature: \
2d557d8fae420880640dd9f60a524db48980c80d8b0179dd3c1892f02e87c9f6\
a04a8aa731be05aaffef
Test: Verify
Message: AC8AFC7A1D9105539E10
Signature: \
0ae7f23328453fdb03c090c09ee69d787ee7dfaccd047445b1026a9a7cacdd1f\
91455db7299538817894
Test: Verify
Message: 310E40311BB3F77F9483
Signature: \
28a8d8de06dc0011b044d19a163d350535d6ca91a023c9687557690ddf102d8c\
7558246ced311f2fc444
Test: Verify
Message: 35455ABD53E6FB11ED9B
Signature: \
162156e476cba65e767b4db942bb35cdc6293cf4360f1801a215bb2c726c22af\
f3a711d3c6473f1eb985
Test: Verify
Message: 95FFA73B52F0D06A0C1E
Signature: \
29bf4f13e6aff528aa1b060c2baed865c442e0472422b4bd485aa5ba2a09ad0d\
732637bb3ee520f6bc0b
Test: Verify
Message: 1E9934125DA6E9B4E975
Signature: \
1674975d0a97e799d113ff9cad06b7f70a33f5ca5f1916cee07b525270284fbb\
1c0428666987ad7e2116
Test: Verify
Comment: 1536-bit NR key
KeyFormat: Component
SubgroupOrder: \
232cf9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a4893
SubgroupGenerator: \
f028143e3f9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8\
a6b64d1c890aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b\
801218ac270acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f\
054d95150af96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb8\
8dda343c972c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0e\
fdf265b762b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43
Modulus: \
fada6e4becef964a85caf9e129639a5616ac000dbac59bd50b84bc8d46411407\
9c34c5b58d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b\
65c2ebac05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b5666\
05c36054e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029\
ef5c25c55ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024\
188627cf5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b
PrivateExponent: \
1d4cedc87d55eea31bd702139b90be08d58692a1f97628a01b
PublicElement: \
819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\
f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\
7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\
6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\
a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\
67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a
Test: KeyPairValidAndConsistent
Message: 9F6DC301DF53FE22CAC0
Signature: \
15b22111ffa1b733979cd9d8944b1291ce09468ccbd05040de0f83023c8fe083\
734ec39a542011643e448b01429c4bae06d1
Test: Verify
Message: 2D7B5B9A27EAB468331E
Signature: \
029eea970a049ffcb4c6117c97d181bec7a27557ceb88d422b2212ca36238380\
87cd52d2445f539c9c03705ba4b485f56e19
Test: Verify
Message: F552FCBBA04FFCCC5CB6
Signature: \
115de3cc15d9a066c00fed43f583f6a9c984d4b8f4c93c3d72094a4b04dda506\
7d460c3d1ae33ba66ceaac676256c1e73001
Test: Verify
Message: 0D52B894153A4BB74068
Signature: \
0f6b8cc28e2068a3fe14d220177793daf3512ba6942e9d16ef1571fa34926c27\
edd1bfa94723a663425f5c2d01eaddaa972e
Test: Verify
Message: 294442E103CC0CBA32A6
Signature: \
0fbd8768a1b3025c0d0d309cc448320e086318772bb9485a5a0a2afa1eb2afb2\
d1818aa7b1c55b9dc424e654524278f0ddbc
Test: Verify
Message: E993D8FE1E6F6C3914ED
Signature: \
0559d66bad3a51520bbb85827a257ab09dfa33938127c69bf40f08339b2f2251\
c0e50b63d2a4d05225dea7f58f67de3071e9
Test: Verify
Comment: 2048-bit NR key
KeyFormat: Component
SubgroupOrder: \
03f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab5417
SubgroupGenerator: \
75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\
6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\
b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\
0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\
4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\
092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\
8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\
4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a
Modulus: \
9a08865d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a\
8f012f00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035ed\
a72e1f31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a\
57466cf60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5\
ebf65e4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26\
a64e9bfcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68\
f6678faccdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f73\
45a37ddc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f
PrivateExponent: \
0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d2d
PublicElement: \
267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9aea7eef1de6e4\
c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed254cd65754d84d\
d21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e03f9b903880c\
e3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c97252bdb42d7bd65\
ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb288b78730d89\
fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f54a1c5a48294\
dda908f904afb7db398682c809ce13abd49279221d5b40ad76216bad7ca256d7\
18d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376489f02fa8c10
Test: KeyPairValidAndConsistent
Message: 5F3914F7AE0F6C76D152
Signature: \
03d30b7eaaddcb384dce378f806e88d646419bbedbc2c0c5cae32f3c3b02e0e1\
a3c3ab04b31e2c25db713db539a65c9419a846aea88aaa707cb4
Test: Verify
Message: 769583D4E7EAD14C137A
Signature: \
01dc2815fd4918b8d3bd1743f5ab4546313b1fa8044b4737b2c485eeb0016bcc\
cc084be064b6a8934a28011167eebbc33513ce609aa206810aa1
Test: Verify
Message: 6441D5239F50C71DE0F5
Signature: \
013f6d395de56832f82ee813b574002c36e551aaeffbb28ddebb84da7f01ff6f\
4c3d0f3519d548e2ec1a0b36f12ac1e4fedc83071bbbbce024a6
Test: Verify
Message: F1C2D4F7C3ECDF2C17B7
Signature: \
006441a8b3517613f9a8c2e7a89c492e7f49300d901ad01b92167c1fce02453d\
52b69dc1fc6532e792ad6366eae7fb14de3ad3f6f3132b0519fc
Test: Verify
Message: 752A1F2B8D9A717A882F
Signature: \
0127027984402f5b8cc069decc1bd611f0bb59c6eee86da7d334e3f8b903c5f3\
02c65aaf16a837963bf772931235f81e963e4d692699dfd4f7e1
Test: Verify
Message: 666DC6B1E871026EDE56
Signature: \
03e87b55a7e81318b7599da3fa8f18d46253b6546814fd1ae19318820100c297\
4de2624da0d54ca27e7fe3477913a6df35bf925de3f3d9a06849
Test: Verify

View File

@ -0,0 +1,76 @@
AlgorithmType: MessageDigest
Name: Panama-LE
Source: Panama reference implementation
Message: ""
Digest: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b
Test: Verify
Message: "The quick brown fox jumps over the lazy dog"
Digest: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1
Test: Verify
Source: generated by Crypto++ 5.2.1
Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Digest: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60
Test: Verify
AlgorithmType: MessageDigest
Name: Panama-BE
Source: Panama reference implementation
Message: ""
Digest: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af
Test: Verify
Message: "The quick brown fox jumps over the lazy dog"
Digest: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc
Test: Verify
Source: generated by Crypto++ 5.2.1
Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Digest: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab
Test: Verify
AlgorithmType: MAC
Name: Panama-LE
Source: modified from Panama hash test vectors
Key: ""
Message: ""
MAC: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b
Test: Verify
Message: "The quick brown fox jumps over the lazy dog"
MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1
Test: Verify
Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
MAC: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60
Test: Verify
Key: "The "
Message: "quick brown fox jumps over the lazy dog"
MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1
Test: Verify
AlgorithmType: MAC
Name: Panama-BE
Source: modified from Panama hash test vectors
Key: ""
Message: ""
MAC: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af
Test: Verify
Message: "The quick brown fox jumps over the lazy dog"
MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc
Test: Verify
Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
MAC: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab
Test: Verify
Key: "The "
Message: "quick brown fox jumps over the lazy dog"
MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc
Test: Verify
AlgorithmType: SymmetricCipher
Source: generated by Crypto++ 5.2.1
Key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
IV: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Name: Panama-LE
Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Ciphertext: F07F5FF2CCD01A0A7D44ACD6D239C2AF0DA1FF35275BAF5DFA6E09411B79D8B9
Test: Encrypt
Name: Panama-BE
Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Ciphertext: E12E2F6BA41AE832D888DA9FA6863BC37C0E996F190A1711330322D37BD98CA4
Test: Encrypt

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,89 @@
AlgorithmType: Signature
Name: RSA/PKCS1-1.5(MD2)
KeyFormat: DER
Source: http://www.rsasecurity.com/rsalabs/pkcs/index.html, \
Some Examples of the PKCS Standards
PrivateKey: \
30 82 01 50\
02 01 00 #version = 0\
30 0d #privateKeyAlgorithmIdentifier\
06 09 #algorithm = rsaEncryption\
2a 86 48 86 f7 0d 01 01 01\
05 00 #parameters = NULL\
04 82 01 3a #privateKey = RSAPrivateKey encoding\
30 82 01 36\
02 01 00 #version = 0\
02 40 #modulus = n\
0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\
c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\
d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\
01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\
02 03 01 00 01 #publicExponent = e\
02 40 #privateExponent = d\
01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e\
a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0\
1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa\
87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81\
02 20 #prime1 = p\
33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f\
bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61\
02 20 #prime2 = q\
33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67\
38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b\
02 20 #exponent1 = d mod p-1\
04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af\
ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41\
02 20 #exponent2 = d mod q-1\
15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79\
81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59\
02 20 #coefficient = q-1 mod p\
2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae\
92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d
PublicKey: \
30 5b #subjectPublicKeyInfo\
30 0d #algorithm\
06 09 #algorithm = rsaEncryption\
2a 86 48 86 f7 0d 01 01 01\
05 00 #parameters = NULL\
03 4a #subjectPublicKey = RSAPublicKey encoding\
00\
30 47\
02 40 #modulus = n\
0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\
c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\
d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\
01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\
02 03 01 00 01 #publicExponent = e
Test: KeyPairValidAndConsistent
Message: # "Everyone gets Friday off."\
45 76 65 72 79 6f 6e 65 20 67 65 74 73 20 46 72 69 64 61 79 20 6f 66 66 2e
Signature: \
05fa6a812fc7df8bf4f2542509e03e84\
6e11b9c620be2009efb440efbcc66921\
6994ac04f341b57d05202d428fb2a27b\
5c77dfd9b15bfc3d559353503410c1e1
Test: Verify
Name: RSA/PKCS1-1.5(SHA-1)
Source: generated by Wei Dai using Crypto++ 5.0
Signature: 0610761F95FFD1B8F29DA34212947EC2AA0E358866A722F03CC3C41487ADC604A48FF54F5C6BEDB9FB7BD59F82D6E55D8F3174BA361B2214B2D74E8825E04E81
Test: Verify
Message: 00
Test: NotVerify
AlgorithmType: Signature
Name: RSA/PKCS1-1.5(SHA-1)
Source: http://islab.oregonstate.edu/emails/pkcs-tng-02/0152
KeyFormat: Component
Modulus: A885B6F851A8079AB8A281DB0297148511EE0D8C07C0D4AE6D6FED461488E0D41E3FF8F281B06A3240B5007A5C2AB4FB6BE8AF88F119DB998368DDDC9710ABED
PublicExponent: 010001
PrivateExponent: 2B259D2CA3DF851EE891F6F4678BDDFD9A131C95D3305C63D2723B4A5B9C960F5EC8BB7DCDDBEBD8B6A38767D64AD451E9383E0891E4EE7506100481F2B49323
Prime1: D7103CD676E39824E2BE50B8E6533FE7CB7484348E283802AD2B8D00C80D19DF
Prime2: C89996DC169CEB3F227958275968804D4BE9FC4012C3219662F1A438C9950BB3
ModPrime1PrivateExponent: 5D8EA4C8AF83A70634D5920C3DB66D908AC3AF57A597FD75BC9BBB856181C185
ModPrime2PrivateExponent: C598E54DAEC8ABC1E907769A6C2BD01653ED0C9960E1EDB7E186FDA922883A99
MultiplicativeInverseOfPrime2ModPrime1: 7C6F27B5B51B78AD80FB36E700990CF307866F2943124CBD93D97C137794C104
Test: KeyPairValidAndConsistent
Source: generated by Wei Dai using Crypto++ 5.0
Message: 74657374 # "test"
Signature: A7E00CE4391F914D82158D9B732759808E25A1C6383FE87A5199157650D4296CF612E9FF809E686A0AF328238306E79965F6D0138138829D9A1A22764306F6CE
Test: Verify

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
AlgorithmType: Signature
Name: RW/EMSA2(SHA-1)
Source: generated by Wei Dai using Crypto++ 5.1
Comment: 1024-bit RW key
KeyFormat: Component
Modulus: \
e5eb47bc1f82db3001faaeabc5bbe71b7d307b431889ac10255262281ec5f5af\
8a790bd7bbec5efffa442cf2c3fd5ca4778763b9d15aeac0b9b71bdb13da8272\
7f4967ac685975f8ff05a763c864d100b7cc1142102aa2dd343ea1a0ab530255\
195c3a6400ecab7b27eff9b01ef6d37381fa6fb5401347f195354396772e8285
Prime1: \
ef86dd7af3f32cde8a9f6564e43a559a0c9f8bad36cc25330548b347ac158a34\
5631fa90f7b873c36effae2f7823227a3f580b5dd18304d5932751e743e9281b
Prime2: \
f5bb4289c389d9019c36f96c6b81fffbf20be0620c6343e2b800aefb1b55a330\
8cc1402da7a2a558579a2a5146b30cb08e3f20b501081248f2f1de36cdfce9df
MultiplicativeInverseOfPrime2ModPrime1: \
88813a3d50b7c301948ee1985db19c9fd33a47c78c977024745e10483d9cc4f0\
f573597ce564a91421d1d7457bc45a971f7d8b31403298da77799b57cf9a76de
PublicExponent: 02
Test: KeyPairValidAndConsistent
Message: 2CA039854B55688740E3
Signature: 1AF029CBEC9C692CE5096E73E4E9A52EC9A28D207A5511CCEC7681E5E3D867A4AE2E22DE4909D89196A272F1B50DE6FA3248BCA334D46E0D57171A790B6F4697E7BA7047DB79DECD47BD21995243DEBBF25915DDBC93C45875C14DE953792257C5C6825C905AFF40109C8CC7E793123D47AC1B5B6304A436CFA9BEEC8E0054E7
Test: Verify
Message: 2A51DF4AF88613D91A37
Signature: 6FF18F4471E1A8F850C910A181A9F28E69AACD8E8126969605E000A853197541AF9047E5D17315BF062B9CD8DF91196F0343285D9E31D5C72560C156782B6D0E5AF8F06D7DCDD8CABEC01B2438C168C40C21F6A8794648361BD2AEE13573A49ECA07A7EED97C0B9C5B1E508869E4CFD5FE1771924B1CF5A4BFF7D4379E5CD59F
Test: Verify
Message: 1CF8DDD95D780A89D7CF
Signature: 539C266B0313E0E256ED98EEF13E6AE64CED90C160A4999B3D47CBDA5285DAB0E0678C0E079CE9B8EB23E10EDFACFC19A80EEBB8F38ED5B5D6C8A988AB8CEC40A5A5BA102F75586167EAB6D5BF0CE8FF30C656895800F6F1B37D69FBBAF9055F7505DBEB537C0F986A1B5F0270DC12A640FFCB626F9763FDCFEFA1208C104003
Test: Verify
Message: 2119A954F1AC0F3DCDB2
Signature: 60C3CCF4F086B15B7F850B445F384333F7AE5A4B5EDE2820C7233239E1B86D6E4B4FCA4F50B087CE1DF17DA5D62672A17F2CF87A2875BBD9B138CAF6863821D6A4D553E9EB64C9254A8F9A6B960E57E39069D65E3F561AA1FA91643D42FEEFB9270D34AB0861DEA1E234EA587F580503D46A1989D413DAC2FFE0FC4CA663CE68
Test: Verify
Message: F6959926E6D9D37D8BC0
Signature: 249E1066542618CE0D236A7174708F801E7AB257931E9967A65C483ED66FB58598F99B6664AF0EAE221E2A6B271D7D17875ED02BF7FE35AA0786023858521CB79FEE0D134D9DDA609B0270FC9804BB6BF74AD90AE11EB339353533DC0D5A69E6B8758212B86024ED563767EA5D9B59655E0B8CC21244F720BA4ED663BF668E3A
Test: Verify
Message: 7A4C634DE6F16315BD5F
Signature: 308A5D65224201BED626CC83FB901EC84874EE03B2E7AB4E752EDBDE024C754E3CC9841CA062100A8843DE9183354B4E0596E8C68F1605828287884F0F9BA6968FC7A9F0CA09418A8485B90465E5D3F96CE4995A5FC7A6E5ABD9CC06BB8A2C3C8109F72EAE67FB4C108852C881CA645B3C5586F27F12FF3028ADE56E32AD9434
Test: Verify
Comment: 1032-bit RW key
KeyFormat: Component
Modulus: \
b660eb18786256c993ebc6dcb5892eac342f6d91229b73dc5d04f1afb9bb0dd4\
eb0b48895f514b4c9afeaf86e91226f2299126d37528ce374e89cc312c06f47c\
81112bf5ca60ffc33b98318e04a17627269f1af461b6cb40f3be03b0113fb2d8\
404e154c7191306b36fd3efa73c784ad9189115d0bb1bd82b850d000e7cc8d20\
35
Prime1: \
0bc31c063f43b3ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a\
976c3b14fbd253f0f988c354725289f2897d7fb62c5c74af7d597a1e22aafba1\
d3
Prime2: \
0f816bf0add559afda38b008e4087f6a38b575c56fff453056eaaab3381c9552\
0969546f954d458d48e44850938b1db471cf4b40afc47e067fb5bce67ba98be8\
d7
MultiplicativeInverseOfPrime2ModPrime1: \
0b684eeec75b3e24e2d9947341b3f462258628af6f0b881396c887fe26a3408c\
40b13370710c82dd4a021a87bbaab5c0fc96cb1d015a783a764a8ab7b002903d\
21
PublicExponent: 02
Test: KeyPairValidAndConsistent
Message: EF0F1D56F4E5D587C212
Signature: 3E544FEBB6623F5D392003B729FE2BFC20E2CB3ECAC22734DFCA55150254E616A41C5E54CE3B50FBC2FE2363EE9AF9B15C70615497B0A458F8AB6D850992EEEB56D65F87EA1BD6E2B4B7E40A0F5E1635C7DDB17110C61039CF712D3524C9C2C1F35D9163BE5C70276F46634514BE16EC09602782E88FE74EAEB2F50CBB0E3B5C4A
Test: Verify
Message: 2C9EA313EACF2C5DA43A
Signature: 1FEFF88814BB53E447E1E955AC8F1AF597C15C3866033E337AFBAB8627306F2EC1276621FF2176C89323CE32EA20F6AEC2CC271F1ED749408B2A3E43A23A44D6A3F38DCDDCAB696B239110AA7ECF12C6681B0E97E6FFF1B72F4F6D796BF82B9450AB8B3D28CA9D220BDF84ACCEA1DA5EDA0B470C3A82BBDD77B4C2723297608BD4
Test: Verify
Message: EC5CC4228C3C70EE8F35
Signature: 228BAA85062F10DCC9D99A23D340BC4B9E463D8AB86A6781A6D2143564303E2DC78772BF68449BE1E2711A68D5A15CF04A23573FB3870454308F583BBB5F2467069EF1395431E70F91BD56D846DC8DB2E88AB3D26A9770660B87A76D6C3575DE512BAFA8A0B901AD15B7D8E8BE2F176A182D16A9609F19A4298416245873175805
Test: Verify
Message: D81F0C6F2D3D60EE19FE
Signature: 17EAA0C18178CD45A2B9100997F682E5F02BE09FBE4D8F345033951345CE98C8B3F13F2CA2A950CE7BDCBF83DBB700890E1F0B863D04C3ADB298F546A8F09F4DA4EF0DC6E7317207CB3CF691114E55D9EAA11C53BE55F7C214F62E6B0460DFA60C55B16EB55B29C9DBB908266C1BDBB03AD651EFB91905B142D852DCA0C4E3BBEE
Test: Verify
Message: FEF5EE07C74118DA30B9
Signature: 2637E16E2599B6EC2F4728C73D3B29F483C2B881F1E1969C426027605EF080E9B17D258D5E1EBC6472A2501E04CF19C144537FCB38A1DA00D948EBD39FA11322D9230B62E2C12AEDB366BD85A2089588A8D52E941FD986D89828A342B83438A960B6FD87E9AD025AD75A692AA9DFEA873A9467B42D84879E85C5D11EFAB347FBED
Test: Verify
Message: 0B9554FFE4F6ADAB2C76
Signature: 095952F24D9FBEF3A93A932865F4BDBB522CF24EBE153CE4BBB24CF301A1C7B51FE47B94F8F8B211CBC5A926FF6BAF9A6BBF7E15975D2DCCB95EF01AB7E641687870B0D01FC18B6B16FE17D3FC82931FBBCD4FD18C7F9588CEE8491876D72F98F2E7EEA90C12907210D6859053ADC7178B87BF8B4826954D6986FE761E71E1B7EA
Test: Verify
Comment: 1536-bit RW key
KeyFormat: Component
Modulus: \
9f8f8ab78ad635c71c9ef0fce9d4a958a9013ed69fcd67c385722668d4357c32\
3732c78179eaa17984531ba570aa0721a1e228957b1008010f1a2d6c42e09847\
9ffeaff9bbfeb3c8e101f968fc7ac74cfba210f76a6da160e65934d216368763\
8f59e414dc6f0448c0b4052c90f7dc565d32acae5da04e3e157dca184aba8362\
bb28a2da6915d51d65f54fbeee69104a5a1b2304b87230c504b126dcf1c377cf\
1777b93be6903b50a44f054ae233b7cc24f950ded467cb8ffbdb17e7b6937605
Prime1: \
d0505c510a3b38a139d6d139818b04251d6ca46c2e717cfafbeebcd5fff8ae62\
de4698e3241784f05e8c86f0f996db77259ebaac6983f092853639f619b75701\
e562408cc1f5c543cada21fc26af36905b10a0df5b111efd754666bb3db4be63
Prime2: \
c41623ccb51e2474eb3dc5c2ef42cfd320a285ef7aefc1d1edcd5f566549cb79\
7285f01c89b9f749ca506b717c2a45b708fec2e7d611c5eee6af0a6d61219c7d\
cab18961e98eea3b7797c61a75aed21d411de4fcf4a009a8238a832dd6e41277
MultiplicativeInverseOfPrime2ModPrime1: \
bc1ceeed917217387ead12254cfc183f82c79709499f510ce093d6d28bc1bf2b\
fabc3d86d64a1c807605bd57f9ec533745d6e359270885c3eb7a36a02dff7137\
9bd453bf3fdc282afa2295d5e393f1c2c74edcbd2374c7740e8135ef0b8af258
PublicExponent: 02
Test: KeyPairValidAndConsistent
Message: 400AEF79EDBCEA796D71
Signature: 15EB5A68CBCB0D6313BB2D14436237A716AC3159B059FBC29931933DB802D6925C01BDC6D90DD0DA25980F1C8199AB9CD3FD105A63D13B5C0101A0430455334492038FBE029BF4EE61F8A2F88D2A6D5424DE7C0CC314B5EA4F867B35224D574463BDE78B71904033C1455484865EB80AE1C2A7D1C229CD0A4D49C0F06A26E264AD42ACAA131F8C0C5EA4DC9EB5BD349D1EE12B3F91F4B9F2DABC3BCF0E216D4A34A3541169955BE45289CECE16DA6BC5352FF31D66538F64308D6FBB9C7DDE72
Test: Verify
Message: 63F64BFAD5B830682F44
Signature: 1003E58A73B018FF9F0F66D3BE9A8DD9D83097A0EB216AEEAA75B63C150AAE9E8BE2A5DE426D18FBC56865F4C9CA51A9BB6E99B70C59B7995246A1F4327C9E4A69517131DA66DDE98AE5D8355527D1C5E4D83CC7ED7B3B1F404F6FDF731DA615974F0777CD22C1E6FAA3569D1141900734C7F3262FE7B9ED291A934DE81A06EBF258F7159DE842737A32DAEC79EFE211C2739D3F5859CB9A633D2A16D78C347790241925C3E776F04B5D5F1900A7B48645DF16DC6F9E8C990AEFEE22FA1DA496
Test: Verify
Message: B6AAE87E8D469A16A335
Signature: 368EE32DDF9D5526E50B1645473DB79CE4B0EF3801F3DF050E8B6B10DFAA600A505FD1C91CAE1CD8CB8FA7BC2F81EDFEE7E74DCF7BDA9ED4FF87C39650E8A473672FD012A6A57C5DC44FFBBDA4A5DECD099A32791CEDC6170C8B367080792713041350D2483B27924822DD886A36EE575A3CD6C097162F758F5628D3EA301050AC848F0ACAEDAB8AD34D436E418AA53618AFAFC3168B7CFA641B1A88C86007FD1EDD8FE1D1A94FCE59B548DA3D8FE313A0A97719E19C857560763EFF1682CC14
Test: Verify
Message: DB0F126516E3EDFF3D7C
Signature: 42076C3F6976EF4BBEAFEF0B4F7A8198CACE6F73436C59DF212474C94D00B0501C359CAB8950EB8937E8458964C817926A3181EED64EAB3A5274A9B3114406F62A62C51F4EDBEEF3BD948C21578996236D6D477B2701DD5A4818B08F5D4740CD23064798C3406133D0758D51717DB4575117DE887733D1E7170AA0845A81535444A962F2003A46361E8A8A1914DA6732C37334320F155E90E18D9E2A921034BEC81395AF69D61E22FEF90BC4F9127914B536BD2477552166C11F139519129864
Test: Verify
Message: A58B1E5E98C44A8680BD
Signature: 100B8692C7A09EFB585A63B5D636EABFE9DDFE50D5235B11BDFD818D1810893B327ACC3B78942900C8F7498BDC1D2FB44330ADD3FEBC709046D8028F38AA7DCC768558E7D6469EDA306C0FCAE001C7B01544C80043864761355888C13960DD53BBD7854F2FBB7D9DE021BAD69769418712B6335A8C63143329363C65CB4170AA0C040559136EA9C19A6793024AF77BCF3EE793CAEDF07FD8A8E2C9C29B5F225F399BBA177D070314E319359394DB999D866A48D591EE8C662BA6394E396300FE
Test: Verify
Message: 7AF0498714B0D93AB959
Signature: 35A959E3717468552590C26FA92009C3866955A1D14405AD33D3FA745D7591521A323BA031070B1FB60A1B6FE0C7198FC14EA41CE62EB6EB060FD073E816C9C85BB6251BF5235567E12951778A61D87F117137C347DE56337FBF9A3360D49330A98248233719FF862F83F772AC887F035820579F406D221191F4535ABA37401FF6E28216EC06AB8832D9AB3EAE4E1D3D780A1FA46883A79B657A7027597BCE4F21744CFC3704A449A204D3790F668E2EB710D5CF031BAA58359D35DDF92455D7
Test: Verify
Comment: 2048-bit RW key
KeyFormat: Component
Modulus: \
b6dee7375bf4385043b3cc2ac5cacbc14ad11a17574738dd2bd84d2d1e6c74e1\
6066c2a5c35bc3b87839858afb5ee5e8abfab408f38772866f6f833f39fab248\
3a2c34ed55ad7098f9f63d4ec70b7950f02daaaab10781a0008f993c4027e381\
6bfd45c52f59452a7b28873513dce415a84fc8bc06601567f91ec41647da2304\
5b6e01e24516724acc02947ad5aa2dba4d952bc4f49d18ada0b0f7cc5d488814\
b921c0bc2b33d8828d80130df7d79b0992cec40d3bc7217d4a4dff3699345e44\
dac968575194845aa7b60dcf3c712d9b0a384824c3579b40dba265457d50f69f\
02a140884d89b7fdee9f0a787e76a37c58c92cf2d3818c72097d41b3faa7aa95
Prime1: \
fa880a456f9c205a26e02c3357536531dec150be0ef8747f69ea30d987ff7dd8\
9e9a1075ebd39f04fa495bd26d8408a8de69113a9fbb52f20713d1d046a76b47\
8cf77c46454a7afda2ef418f63faf67c947d898bca109f3275999e8f2e60e2c0\
eec133ff69e71a2d396632670b52d8ea03f7589d8144ab580b1d3e60efa1280b
Prime2: \
badcc718dd2d761c4893c4831d56ada30fc5c7c148d473bedf7615b7e821b92f\
319676ce278349f1309fb3d264c1a22bde71b221354c7a4d31117b3ec3c9d480\
2e0a26bd8ec05d28b6502c65f35c687af7f8396b963ed029a2c5ae38dd7c5c96\
2a953c113c0f590957ab19a6e2afda6db84f22c0c31ae243debd2920fbe9fbdf
MultiplicativeInverseOfPrime2ModPrime1: \
48a56f93e044a8211861da6bde9ab61265c63e168e507b56cd6e6e5f4de57c2f\
5c0b626462d6c06790cf561fa12a350dc0c08767f2717914183fac90db36495a\
91c0e9c0fbcfef19c85075b3b744fc378a9f2045cd7fd144ecd39bd1a59f1483\
10f6982efb3ffe502b279c4c0cb2a7f9ef64ca8f38690c486afb5f659cf7f838
PublicExponent: 02
Test: KeyPairValidAndConsistent
Message: 00AA5515CDAE5CD0F0DC
Signature: 30EECA6B48D796552F5A6A3C11F28D730FA077422CAAB34FDEB879AE0F71DF21330E2F3BE5BF3A8CA372EBCD3DFA7C81B3398C31B0972D0B857926CB39732351AACEB8276D52B9D82F9C245FA0F1CF49E785A2BC00FF27FBCF777F84D05BEF17FCC0505820B029AC8F0CE17D2469372CE47E1428BB941004FE170EF87163E07298EFFCC1BFA7E7CB1F572C340CAA075A5962A15B69CE937BC7EFB492F501FC88CBF0119C351C8498782091EF6EFB19120195E5FF51DF86F90E90FAEB225AA2EE43AB4E8358101C0348C7E3859B9DEBA19464C74B74AC48A0B73FC8D2E7F8033E86208F0792B6E5B6DE36C99DEF604949811D1671EF6B0A4781B4E7A0A72AD855
Test: Verify
Message: B8E2FB9EAE22FB2C0021
Signature: 416D33F8C213CF81F805F54FC1D4E7C6A588A0965F1C9CAEEA1D41452E20935AAF2D30F957584B56621035430212A428E27A2F687CA9DBB596C19864AE692EF7BBA730F3D70CC2DDE15AB71E1E350C0C316EFA1A831ACD1441598B112482487DF72F58ED318182C7CD0906FE39C5655BF1313F29A15D60A6178CBF600C7FBFF8994840ED649C3C4026A463B3EA39C692B7D112B128BE49E1E32D4A7FF8D4513283D8DCD9CCB8FB7300BE0BDD4C44DAA2F7049B3AD83437093E623442AC69B48911CDA21E95E0775041F67F6E6AE01DCE646AEC20908E7C1B693600FE41ABA85AC0C778641E46C419083E41773C749DB3E1BD8FD764E271860D2D7F8E11BD6AB3
Test: Verify
Message: 8C8C306A629373BAE647
Signature: 0E9A00045FFD399D9DA9D0D7E543CF9FFD098BC23E72DD7763A64F22C7F0479CE866E31438B8F7DE31A18F35AF419BED6C67BE1540614D3310DD24F019E14FCC3AF73743F4C143D4B79CDF35C752A300F0A8251CCFF4AAF18785C533A7DF1A20AFE6770DEBD1B8BA2C83B2E345A04F833CD173E998FF9840C2F8A370FFDCFF5FD95CBD71B25FC9972192470FD145975344F64C2F6D68CB3513F48F9FC070021BEE8F6A4282D098C44DF655CE415E89B97994AE3ABE85986C7EE0AC348EF2A4F52D102EA80836E77E81AD3678803E53C83CF2F30D2D4950FB6B038CCB3F2690A9381EB34D6C09E88C090AB05E28047DC490EB8A1282FEB38E82FB0B18309284C4
Test: Verify
Message: 15E7B7B7ED0F176B6799
Signature: 39FF4B5FA50AE498F3C91A655E6865840D1FC401EE02DBC8460A59DEB8816E6680F712B7BAF8D4DC11A3B54BF906BE698306F0449BB43F3F223B944D930A1A3C718E8A9E2EEDEC5A07AB817C26A80CC2A2EE2846A597EAB8A999D38DB98490166F2574524038BBDF24B4E4622C843210C6B94987638C6976562EA9727385B152614C18349BD54AD95DE33D5354954B505E5259CCDA47E3CECEF3154F6E5481E536BAB568146A0BFCB66573714A7BA7ABE0385115720687F33D9C6EF6BB60272F1272CF349990E3A2FBCCE180B730792101089B164AE5A001F5263F7493AF148D6E0953E311AD12E4202D35F96DD30885663B5101F9B05675FCD2FCC4FCC4DDFF
Test: Verify
Message: B36724C92954C38D0288
Signature: 3C8CD3614555568BBECA99174B7B203D0BC6FABE9E6FFE0C41EB4D9A2C601D2393CA1E01B7D7E99337758AC914C9F151311E5AE6708DAF1D8C825DA471652C6E13A8FE5802D7AE097BFC899A4EC8CA235B5982B9058C53AAD52823ACF692290EB8823C126635AB0BBF101C2B3149AB16183FA2DBB049DDB99C5E83723E4D4693CA3A08588AA868C677D42ABDAA6586EF192391D276C5E5AF0763ACCA6293F06250C51FDC2AD369CD44EB5F654E98761C881DDEC08E795FFB229B20522349B0714059E18B7B23A48875EAB12ED3F0A011D3A985DD7384B0046F39FA6C1A331F3D4C5125100BA58666935C68A7A10849D9C74850BAB82AE15EC950A283F3E7DAD8
Test: Verify
Message: FA95400C2B14E064F76A
Signature: 3F67F9DBEB88E6AD057BEDC3D97030555A908867EC578A6CA572137CB61C21036AADE6DDC5592EC7CCB6B263E51B4C886A51904C858040E493D64B9ACE5BAA50C4A66D04ACCDFE0039D8541C4363DEFFCF93BDF5F5CC1FB64855D956B5EFD42D4C9B96B9CBAA97A32F02AAB307674E53404E6836DB5C96B59572ADBFD1113B87608ACE6D0898CB02E35575CC28D38A9FF8C1C4AD36BAA991DEFAB533F0A6C9C2F0F0815F1D659ED576E5DB18494A54B6817D9E34A134F3B9A0F1E8C77FC204B6EE087C0445A7036C935117E338D092F6E1FF4DF7605525C409456A5195233A176B29B2FD8FB2808D0412FCA0541B2BB6800BD8BB9DC9DC25230166071E8D961E
Test: Verify

Some files were not shown because too many files have changed in this diff Show More